1. scanf函数返回值告诉我们它是否成功的读到数据,如果成功返回非0,否则返回整数0。
#include<stdio.h>
int main()
{
int value1;
int value2;
printf("please input value1!\n");
(1)int ret = scanf("%d", &value1);
(2)while(0 == ret ) //(1)和(2)等价于while(!scanf("%d", &value1))
{
(3)scanf("%*[^\n]");
(4)scanf("%*c"); //(3)和(4)用于清除非数字字符。
printf("input value1: ");
ret = scanf("%d", &value1);
}
printf("value1 = %d\n", value1);
scanf("%*[^\n]");
scanf("%*c");
printf("please input value2!\n");
int ret1 = scanf("%d", &value2);
while(0 == ret1 )
{
scanf("%*[^\n]");
scanf("%*c");
printf("input value2: ");
ret1 = scanf("%d", &value2);
}
printf("value2 = %d\n", value2);
return 0;
}
注意:使用scanf函数时必须判断返回值。
scanf(”%*[^\n]”)和scanf(%*c)清楚输入非数字的字符。如果没有这两条语句,上面的程序将会进入死循环。
2. printf函数的使用,
#include<stdio.h>
int main()
{
(1)printf("abc");
(2)fflush(stdout);
(3)while(1); /*如果(1)和(3)中间没有(2)时,程序是没有输出结果的,当*加上(2)时,程序才有输出结果,或者在(1)后加上换行符(\n),*或者删除(3)。*/
return 0;
}