xqnx.net
当前位置:首页 >> sCAnF输入用空格隔开 >>

sCAnF输入用空格隔开

scanf(格式控制,地址表列) int scanf(char *format[,argument,]); “格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址. %a,%A 读入一个浮点值(仅C99有效) %c 读入一个字

scanf输入默认以空格字符分隔,除了%c直接输入就行了如果你说的是输出,用printf,自己在里面加空格printf("1 2 3 %d %d %d", 4, 5, 6);

你既然已经定好了采用%d,%d的方式输入两个整数,如果中间不用,分隔的话,第二个数(也就是c)是一个未知的值,因此出现的值是21473443,也可能是其他值,你可以试试看把c先赋一个任意值,它是不会变的,也就是说C并没有在scanf的时候被赋值,你就明白为什么了.

怎么不能呢?能的,这取决于你的输入格式 如果是这样:scanf("%d %d %d",&a,&b,&c); 输入时应当用空格隔开 如果是这样:scanf("%d,%d,%d",&a,&b,&c); 输入时应当用逗号隔开

scanf函数中用%d,运行时输入数值时不要用空格隔开,就会把二个整数当作是一个整数;并且scanf读入数值时,会把前面的空格自动忽略的.但如果用%c就不行,因为空格也是一个字符,也可以用%c读入的.

scanf输入数值时,需要按照scanf格式参数的定义来决定数值之间用什么隔离.譬如 scanf("%d,%d", &a, &b); 输入两个数之间必须有一个逗号 scanf("%d&%d", &a, &b); 输入两个数之间必须有一个&号 如果没有特别指明分隔符号,默认是空格或回车.

C语言默认分割符都可以隔开:空格,tab,回车 也可以指定你所要使用的分隔符 如果没有分隔符默认使用空格 两个%d之间什么都没有的话为什么用空格也可以?代码如下:for(i=0;i<=9;i++) { scanf("%d",&a[i]); //如果没有分隔符默认使用空格 sum=sum+a[i]; }

如果没有明确指定间隔符那么输入的时候 默认用不可见字符分隔 包括 空格 \t \n 等等比如scanf("%d%s%lu" .) PS:对于%c格式例外如果明确指定分隔符 则一定要按指定格式输入假设没有指定分隔符或者分隔符为空格 那么1b c5这样的输入 1b 会被赋值给第一个变量 c5会被赋值给第二个变量如果没有空格 那么1bc5会都赋值给第一个变量 如果存在第二个变量要求输入 系统会等待下个输入

这也有如何用s输入带入空格的字符串,这个问题很很.很专业.

回车、TAB或空格.

网站首页 | 网站地图
All rights reserved Powered by www.xqnx.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com