字符输出函数putchar

int putchar(int c)

函数参数:c为字符常量或表达式

函数返回值:输出的字符

函数功能:在标准输出上显示一个字符


格式化输出函数printf

int printf (const char *format, …),成功返回输出的字节数,失败返回-1(EOF)


字符输入函数getchar

int getchar(void)

返回值的含义是存储从键盘上读取的字符,返回值的类型确是int,而不是char

int main()

{

int ch;

printf("Enter a character:");

while ((ch = getchar()) != EOF)

printf("%c--->%#x\n", ch, ch);

printf("end main\n");

return 0;

}

格式化输入函数scanf

int scanf (const char *format, …),成功返回输入的变量的个数,失败返回-1(EOF)

输入数据时,遇到以下情况认为该数据结束:

-空格、TAB或回车

-宽度结束

-非法输入

非法输入,比如:程序需要输入一个浮点数,用户输入的是字母,这就属性非法输入

返回值是成功输入的变量的个数,当遇到非法输入时,返回值会小于实际变量个数

int main()

{

int a, b, n;

printf("input numbers:");

while ((n = scanf("%d%d", &a, &b)) == 2)

{

printf("a=%d, b=%d\n", a, b);

printf("input numbers:");

}

printf("n=%d\n", n);

return 0;

}


字符串输入输出函数

1.字符串输出函数 puts

int puts(const char *s),在标准输出上显示字符串s,成功返回一个非0的数字;失败返回-1或EOF

int main()

{

char s[]="welcome";

puts(s);

return 0;

}

2.字符串输入函数gets

char *gets(char *s)

功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加'\0'

成功返回字符数组的起始地址,失败或输入结束返回NULL。

#define N 20

int main()

{

int i = 0;

char s[N] = {0};

printf(">");

while (gets(s) != NULL)

{

printf(">");

// scanf("%s", s);

printf("i = %d :%s\n", i, s);

i++;

}

printf("end main\n");

return 0;

}

gets函数的参数中,不含长度控制。当输入字符时,最多只能输入N-1(留一个位置存字符串的 结束符\0)。假如输入字符超过了N-1,则多余的符号也会被存到字符数组中,这样就会造成内 存的访问越界,结果是不可预料的。所以,使用此函数时,会有警告。我们在使用该函数时, 一定要注意数组的长度。