scanf函数和printf函数特别

时间:2023-01-07 19:58:27

1. scanf函数返回值告诉我们它是否成功的读到数据,如果成功返回非0,否则返回整数0

#include<stdio.h>

int main()

{

        int value1;

        int value2;

        printf("please input value1!\n");

        (1int ret = scanf("%d", &value1);

        (2while(0 == ret )   //1)和(2)等价于while!scanf("%d", &value1))

        {   

                (3scanf("%*[^\n]");

                (4scanf("%*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()

{

        (1printf("abc");

        (2fflush(stdout);

        (3while(1); /*如果(1)和(3)中间没有(2)时,程序是没有输出结果的,当*加上(2)时,程序才有输出结果,或者在(1)后加上换行符(\n),*或者删除(3)。*/

        return 0;

}