读书人

scanf函数跟printf函数特别

发布时间: 2012-08-07 14:54:48 作者: rapoo

scanf函数和printf函数特别

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;

}

读书人网 >编程

热点推荐