下面是我的代码
#include<stdio.h>
void main()
{
int a[80],k=0;
char c;
printf("请输入数字空格间隔\n");
scanf("%d",&a[k]);
k++;
while((c=getchar())!='\n')
{
scanf("%d",&a[k]);
k++;
}
printf("%d\n",a[0]);
}
为什么在while((c=getchar())!='\n')这个前面得再重复写一句 scanf("%d",&a[k]);
k++; 不然我输入的第一个数,就会被丢弃掉没写进数组里,求解
为什么先执行 getchar()的话会把第一个输入的字符读走??后面的数为啥就不会读走呢?为啥c=getchar()为读走数字见得空格?好好好多疑问哦...请赐教~
为什么先执行 getchar()的话会把第一个输入的字符读走??后面的数为啥就不会读走呢?为啥c=getchar()为读走数字见得空格?好好好多疑问哦...请赐教~
追答执行 getchar() 会从缓冲区里读走一个字符。
你先执行它,当然会把缓冲区里第一个字符读走,
执行完这个,后面执行 scanf("%d",&a[k]); 就会把一个整型数读走,这个数以不是数的字符结尾。如 123A 从缓冲区里读到A时不是数字就会以123给a[k],当然空格也是一样。
这个函数并不把后面不是数字的那个读走,它还在缓冲区里,这时再执行 getchar() 就会把后面那个不是数字的字符从缓冲区里读走。
C语言,数组输入遇到问题求大神指教:哪里错了,如何改正,为什么会出现...
scanf的格式加'\\n',含义特殊,不是输入一个回车,而是输入完一个数字后,必须等待一个非空格、制表符、回车的输入,程序才会继续。所以你那样写,第一次循环输入2回车,不会进入下一次循环,而是等待再次输入,然后你输入3的时候2被存储在元素1中,进入下一个循环,已经有3了还要等待输入,于是你输入...
C语言输入一个数组后将数组里的数相加,为什么输出结果不对?_百度知 ...
第一,定义的浮点数变量sum没有初始值,应该在定义的时候给他赋初始值为0。第二,循环体没有加花括号,导致只有读入语句是执行循环的,而下面的累加到sum的语句则要到循环结束以后才执行一次,起不到累加的作用。第三,格式化输入语句scanf在给float类型输入时是不能指定小数位数的(最多只能限定总位数...
c语言中如何输入数组中的数
int i,j;float students[10];float sum=0,max=0;for(i=0;i<10;i++){ printf("请输入的学生的成绩:");scanf("%f",&students[i]);if(students[i]>max)max=students[i];sum=sum+students[i];} printf("这几个同学的最高分为:%f\\n平均成绩为:%.2f\\n",max,sum\/10);return 0...
数组问题(c语言),如何让输入者定义个数,并输入数值,形成数组
严格意义上讲,c语言里面定义数组时其长度不能为变量,必须为固定值,因为c语言程序在定义数组时,必须先给数组开辟一个内存空间。不过,你所提的要求还是可以实现的,一般的做法是,可以先假设一个较大的数(不超过你所想输入的输入的数组长度的最大值MXLENGTH,)作为初始定义时数组大小,然后在输入数...
C语言怎么让键盘输入数字到数组里?
1、首先打开电脑的编辑软件。然后创建编辑项目。2、创建文件指针和字符型char。再读取文件内容。3、然后用for语句进行接受数据。再用getchar语句接受键盘的输入。4、然后用foput函数。再将数据写入到文件。5、然后用fclose函数关闭文件。再返回数值。6、运行程序,输入数值。再打开文件,就可以发现键盘输入...
C语言如何把输入进去的数放到数组中
有两种方式:1 先输入数值,在存放在数组的对应位置中,即赋值给对应元素。如 scanf("%d",&i);a[k] = i;就是先输入到变量i中,然后把i存储在a的第k个元素中。2 直接输入到数组对应元素中。如 scanf("%d",&a[k]);与1中的例子是相同效果,只是减少了中间变量的使用。
C语言题目:键盘随机输入5个数,请从大到小排列输出,并输出其中所有的素数...
int a[N],i,j,temp; \/\/定义数组a,变量i,j和中间存储变量temp printf("please input %d numbers\\n",N); \/\/输出文本,"请输入N个数字(此处N=5)"for(i=0;i<N;i++) \/\/循环语句,利用i循环将N个数存入数组a[i]scanf("%d",&a[i]);for(i=0;i<N-1;i++)for(j=0;j<N...
C语言中,对于不知道长度的数组怎样输入。。。
1、一维数组程序举例:冒泡法。得到结果进行输出。二维数组常称为矩阵。把二维数组写成行列的排列形式,可以形象的理解二维数组的逻辑结构。2、C语言中不能定义未确定个数的数组,不过可以用指针来变相的完成你的要求。3、输入数组需要使用指针获取地址后,就能对得到的数组就行操作了。
c语言问题 通过键盘将10个整数输入到一维数组中,并把该数组中所有偶数放...
1、首先定义一个字符串:$str = 'apple';其次定义一个数组:$arr = array('apple', 'orange', 'strawberry')。2、加入函数:in_array(),判断$arr中,是否存在$str。如果存在则在屏幕上打印出:$str的值;如果不存在,则在屏幕上打印:找不到。3、将编写的PHP文件保存,并在浏览器运行,观察...
c语言中的调试时输入数字 :1 2 3 4 5 6 7 8 9 0.回车,显示unhandled exce...
你没有分配内存,仅仅定义一个指针,就要去赋值,当然会暴力访问了。应该顶一个数组int num[10];或者分配int* num =(int*)malloc(10*sizeof(int));