随堂练习题-1
请使用 printf 函数,求解一个数字n的十进制表示的数字位数。
#include <stdio.h>
int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
printf(" has %d digits!\n" , printf("%d",n));
}
return 0;
}
运行结果:
随堂练习题-2
写一个程序,读入一个行字符串(可能包含空格),输出这个字符串的数量。
#include <stdio.h>
int main()
{
char str[128];
while(scanf("%[^\n]s",str) != EOF)
{
getchar();
printf(" has %d digits!\n" , printf("%s",str));
}
return 0;
}
运行结果:
注意:
1 . [^\n] 除了\n这个字符其他都会被读入 但\n不读入
2 . scanf返回值
3.getchar()吞掉\n;
.
.
.
.
scanf返回值:
scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。
如:scanf("%d %d",&a,&b);
函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;
如果只有a被成功读入,返回值为1;
如果a和b都未被成功读入,返回值为0;
如果遇到错误或遇到end of file,返回值为EOF