sppk.net
当前位置:首页 >> C语言输入问题 >>

C语言输入问题

do{ scanf("%c",&ch); I++;} while(ch!='\n');

编译器问题. VS 不允许使用scanf 而要用scanf_s 你的代码 scanf(“%s”,a,10)是错误的. 需要 scanf_s("%s",a,10); 对于%c和%s的,都需要加最大长度限定. 不方便,但是VS就这么规定 没办法. 要么不用VS,要么接受

scanf("%d,%d,%d",&x,&y,&s);打的时候要1,2,3覆盖掉分号

当然可以啊.你可以把n也当做一个变量,让用户选择输入.#include #include void main(void) { int n = 0; int i = 0; printf("请输入数据个数:"); scanf("%d", &n); for (i = 0; i { printf("请输入第%d个数\n", i + 1); } }

#include<stdio.h>void main(){float a,max,min;scanf("%f",&a); //这儿,需要一个输入,比如输入3.14max=a;min=a;while(a>=0) //如果,你刚才输入的a大于等于0,那么会继续输入{ if(max<a) max=a; if(min>a) min=a; scanf("%f",&a); //这儿,继续输入}printf("max=%f,min=%f",max,min);}//给你一组测试数据, 只要最后输入一个负数就行了,前面输多少正数都无所谓3.14 2.16 3 4 1 2 -1

你这个程序没语法错误.输入1992,输出结果为:0109093我猜你可能是while循环没加“{}”的原因,没达到你想要的效果.没加就默认为只是下一个分号“;”前的是循环里的内容.while((c=getchar())!='2')n++,printf("0%c",c);printf("%d",n);就相当与while((c=getchar())!='2'){n++,printf("0%c",c);}printf("%d",n);

while(scanf("%d",&mark[index++]))你这是循环输入呀,又没叫他停止.当你随意输入一个字符时,他没有接收到整数,返回false才停止的,如果回车后再输入数字,一样不会停止..我觉得你可以改成 while(scanf("%d",&mark[index++]) != EOF)当输入完后,按回车,再按ctrl+Z,再回车就可以出结果了!

scanf里,双引号下面是什么样子的,输入的时候就必须原封原样地输入. 所以,不必要的情况下,一般不在格式符之间添加多余的空格啊、逗号啊之类的. 如果添加了的话,输入的时候就必须要对应输入进去才行. i=scanf("%d%d,%d",&x,&y,&z);上面这句语句里的scanf的双引号下面的格式控制符的意思是「一个整型、一个整型、一个逗号、一个整型」,所以输入的时候也要按「一个整型、一个整型、一个逗号、一个整型」的样式输入.当然了,第一个整型和第二个整型之间要么用空格,要么用回车来分隔,这是scanf默认的分隔数字的方式. 如有帮助,烦请点采纳,谢谢!

这里有一个问题,就是scanf的问题.. 当scanf("%d",&n).用户输入后,还有一个回车,被 scanf("%c",a[i]);吸收了.. 同样,第a[i]的输入,吸收了前一个的a[i-1]的回车.所以结果 就出现了问题. 把scanf("%c",a[i]) 改成 scanf("\n%c",a[i]) 就行了. 给n赋值10,直接是n=10就行了.

把scanf("%d ",)中%d后面的空格去掉就行了.改为"%d"

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