位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 scanf()函数的数据输入操作

提问人:刘团圆发布时间:2020-11-28

(1)输入多个数据的分隔处理。如果在格式字符串中不包含除了格式指示符之外的普通字符,则在输入多个数据时,可以使用空格隔开,或者按Tab键分开,或者按Enters隔开。例如:

    scanf ("%d%d",&a,&b);

    假设要给a输入12,给b输入24,则正确的输入操作为: 12口24/

    或者: 12/

           24/

    或者: 12 24/ (输入12后,按下Tab键)。

(2)当“格式字符串”中出现普通字符,务必原样输入。例如:

    scanf("%d,%d",&a,&b);

    假设给a输入12,给b输入24,正确的输入操作为: 12, 24/

(3)当scanfO函数中的格式字符串中出现转义字符(如\n ),系统并不把它当转义字符来解释,从而产生一个控制操作,将其视为普通字符,所以也要原样输入。例如:

    scanf("a=%d.b=%d\n",&a.&b);

假设给a输入12,给b输入24,正确的输入操作为:

    a*12, b=24\n/

(4)输入数据时,遇到以下情况,系统认为该数据输入结束:

①遇到空格,或者按Enters,或者按Tab键。

②遇到输入域宽度结束。例如“%3d”,只取3列。

③遇到非法输入。如在输入数值数据时,遇到字母等非数值符号(数值符号仅由数字字符0~9、小数点和正负号构成)。例如:

int a,b;

scanf ("%d",&a);

printf("a=%d\n",a,b);

程序执行时,当输入:

    123a5/

则输出:

    a=123, b=-858993460

系统为变量a读取数据时,当读取了 “123”,其后面是字符“a”,这不是一个合法的数值字符, 所以认为本次输入结束。

(5)使用格式说明符“%c”输入单个字符时,空格和转义字符均作为有效字符被输入。例如:

    scanf("%c%c%c".&cl,&c2,&c3);

    printf ( "chl-%c #ch2~%c ,ch3—%c\n".chl,ch2 ,ch3);

    程序执行时,若输入ACDBCIC/,则系统将字母‘A’赋值给c1,空格赋值给c2,字母‘B’赋值给c3。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部