scanf 如何换行输入?

作者&投稿:捷虏 (若有异议请与网页底部的电邮联系)
~

scanf可以手动换行输入。即在键盘上的输入顺序为:5 回车 9。

scanf 的功能用一句话来概括就是“通过键盘给程序中的变量赋值”。该函数的原型为:

# include <stdio.h>

int scanf(const char *format, ...);

它有两种用法,或者说有两种格式。

1、canf("输入控制符", 输入参数);

功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。

2、scanf("输入控制符非输入控制符", 输入参数);

这种用法几乎是不用的,也建议永远都不要用。但是经常有人问,为什么 printf 中可以有“非输出控制符”,而 scanf 中就不可以有“非输入控制符”。事实上不是不可以有,而是没有必要。

扩展资料

使用scanf的注意事项

1、参数的个数一定要对应

“输出控制符”和“输出参数”无论在“顺序上”还是在“个数上”一定要一一对应。这句话同样对 scanf 有效,即“输入控制符”和“输入参数”无论在“顺序上”还是在“个数上”一定要一一对应。

2、输入的数据类型一定要与所需要的数据类型一致

在 scanf 中,对于从键盘输入的数据的类型、scanf 中“输入控制符”的类型、变量所定义的类型,这三个类型一定要一致,否则就是错的。虽然编译的时候不会报错,但从程序功能的角度讲就是错的,则无法实现需要的功能。

3、在使用 scanf 之前使用 printf 提示输入

程序写好之后,编译、链接、执行,然后弹出黑窗口,出现一个光标在那不停地闪。对于编写程序的人来说他知道要输入什么,但是对于用户而言,用户不知道是什么意思。

所以之前的程序都缺少提示信息!因此在使用scanf之前,最好先用printf提示用户以什么样的方式输入,这样可以大大提高代码的质量。

参考资料来源:

百度百科——scanf




介休市17733317179: scanf 如何换行输入? -
红振甘乐: scanf可以手动换行输入.即在键盘上的输入顺序为:5 回车 9. scanf 的功能用一句话来概括就是“通过键盘给程序中的变量赋值”.该函数的原型为: # include <stdio.h> int scanf(const char *format, ...); 它有两种用法,或者说有两种格式....

介休市17733317179: 那位牛人告诉我,C++中scanf函数怎样换行 -
红振甘乐: .............scanf 不是输入语句么?你说的意思是不是用scanf接收2个数据 输入一个之后再回车 输入另一个?scanf("%d%d",&nI,&nJ) 可以这样用啊- -!因为scanf 不会接收到"回车"的呀! 被过滤掉了的- -!

介休市17733317179: C语言中在第一行输入某式子,再想转到第二行输入某式子, scanf()该怎么编 -
红振甘乐: str1[100]={0}; str2[100]={0}; scanf("%s%s",str1,str2);

介休市17733317179: C语言中怎样用scanf输入不同行的数据. 比如输入:100 200 120 320 45 49 急用......... -
红振甘乐: 如果用空格 就按照格式就可以了 因为函数scanf是遇到空白符(空格、制表符、换行)结束的 所以你这个就可以用scanf("%d%d%d",&a,&b,&c); 如果你想让输入的内容只是遇到回车才结束 那就用gets函数 具体用法可以看文档

介休市17733317179: 用C的scanf如何实现换行输入 -
红振甘乐: 我记得 fscanf,scanf都是识别回车符的 当你的输入回车时出现换行..就被scanf读取走了.. 咋会出现3行 300 1000 700 1200 1500 2100呢?

介休市17733317179: c语言程序如何换行输入数据而不运行,数据输完后在运行 -
红振甘乐: scanf默认格式就可以回车换行输入. 比如连续输入10次,放到数组里.之后再执行其它代码.直接把输入嵌套在循环就行了.

介休市17733317179: c语言 scanf 怎么换行 之后怎么回车 -
红振甘乐: int a,b ; while( scanf("%d %d",&a, &b)== 2 ) { printf("%d %d\n", a , b ); }

介休市17733317179: C语言,用scanf时里面可以用换行符\n吗,比如scanf(“%d %d\n”,&x,&y)这样 -
红振甘乐: scanf输入语句,就算写了换行符\n也没用.不能换行

介休市17733317179: 急!!scanf怎样过滤空格和换行... -
红振甘乐: scanf()函数默认空格、制表符、换行符为数值、字符抄和字符串的分隔符,也就是说,zd是自动过滤的,比如 int val; char ch,s[50]; scanf("%d%c%s"); 可以输入5 A character 该读入语句可使val = 5,ch = 'A',s = "character".

介休市17733317179: C语言的SCANF函数
红振甘乐: scanf默认以空格字符划分输入(空格,tab,换行之类的) 输入数字的时候,如果你连续读入,scanf是没法区分各个输入的,除非限定输入宽度: scanf( "%1d%1d%1d", &a,&b,&c ); 这样就可以确保每个int只读取1个字符长度的数字

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网