printf()、scanf()、getchar()、putchar()的返回值

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类型

猜你喜欢

转载自blog.csdn.net/qq_40999917/article/details/124948833
今日推荐