printf()、scanf()、getchar()、putchar()的返回值都为 int类型,这个要注意
1.printf()的返回值是打印字符的个数,且打印字符串的时候不会加上空字符’\0’
例:
#include<stdio.h>
int main(void)
{
int n;
n=printf("The number of characters printed is:"); //返回值为不包括'\0'的打印字符数
printf("%d\n", n);
return n;
}
最后的结果为:
The number of characters printed is:36
2.scanf()返回值返回的是成功读取的项数
#include<stdio.h>
#include<string.h>
int main(void)
{
int i,n,m,ch;
ch=scanf("%d %d %d\n", &i, &n, &m);
//ch=scanf("%*d %*d %d\n", &i, &n, &m);这里使用修饰符*,作用是使scanf()跳过相应的项
printf("%d\n",ch);
return ch;
}
这里使用//来区分两种情况的结果,让效果更明显:
3
// 1
3.getchar()的返回值是用户输入的第一个字符的ASCII码
#include<stdio.h>
int main(void)
{
printf("%d\n", getchar());
return 0;
}
输入:1 2 3
结果:49 //这与数字1的ASCLL码符合
4.putchar()的返回值返回的是原字符,但如果输入一连串字符,则只会返回第一个字符
5.printf()、scanf()、getchar()、putchar()这四个函数如果遇到错误或者检测到文件结尾(在不同的系统下会有所不同),都会返回EOF
EOF是一个值,还是个负值,一般情况下都是被定义为-1,但也可能是其它的负值,也正是因为EOF是一个负值,所有这四个函数的返回值为int类型