c语言数组问题,原本想输入三个数,结果却要输入4个数

作者&投稿:鄂虾 (若有异议请与网页底部的电邮联系)
c语言 怎么算 数组 数入数的个数~

楼主你好!!

求数组的长度一般有int等类型的数组的长度;这样的求法就如1楼所述!!

要是求字符串数组的长度可以直接使用库函数int k=strlen(s),s是字符串数组名

在数据结构里面,一般使用动态分配空间的方式,malloc首次分配和realloc重新分配更大空间。
你可以先malloc一个比较大点的空间,比如20个int的数组空间,当输入个数超过20时,realloc一片20+10的空间,也就是一次性增大10个int的空间,再输入到30个了,就再realloc一片30+10的空间。需要一个变量存贮当前最大空间,然后一个变量记录你输入了多少个数据。

第一次 输入 3
接下来 ( i<(j=3) )循环 3次
所以 总共是 4次输入

加上括号试试


c语言数组问题,原本想输入三个数,结果却要输入4个数
第一次 输入 3 接下来 ( i<(j=3) )循环 3次 所以 总共是 4次输入

C语言 求解答 谢谢
\/\/ 函数fun()的作用是:将数组里的元素,互换位置\/\/ fun(a,0,3),是将数组里第0个到第3个之间的元素,互换位置,\/\/ 也就是 第0个与第3个互换,第1个与第2个互换,\/\/ 结果得到 4,3,2,1,5,6,7,8,9,0\/\/ 原本顺序是1,2,3,4,互换之后,现在的顺序是4,3,2,1,\/\/ 而5,6,7,8,9...

c语言指针指向数组的问题。
首先你要明白一点,数组名和指针本质上是一回事,都是地址,该数组的首地址。知道这一点后就可以活学活用了。这是c语言的精髓。比如你定义了int *p,a[10];并且让p=a;, 这个操作叫做指针p指向了数组a,其本质是给p这个变量付了一个值,就是数组a的地址,也是a[0]的地址,也是a本身里面存储的...

C语言编写程序 将一个一维数组进行逆置,如原来是1,2,3.后为3,2,1
将原本数组,头尾对称位置互换即可。函数代码如下:void reverse(int *a, int l)\/\/将a上长度为l的数组逆置{ int i,t; for(i = 0; i <=l\/2; i ++) { t = a[i]; a[i] = a[l-i-1]; a[l-i-1] = t; }} ...

C语言下标越界问题
这个跟系统有关系。如果数组越界是否破坏了原来的函数调用栈,或者访问到了不可访问的地址,或者写了只有读权限的地址,那肯定会出错了。但是如果你的数组的越界只是访问到了原本就没有被分配的内存,那么就不会出错,但是不能保证这么下去一直不会错。

C语言下标越界问题
这个跟系统有关系。如果数组越界是否破坏了原来的函数调用栈,或者访问到了不可访问的地址,或者写了只有读权限的地址,那肯定会出错了。但是如果你的数组的越界只是访问到了原本就没有被分配的内存,那么就不会出错,但是不能保证这么下去一直不会错。

c语言编程问题,下面的程序输出结果是多少?
是 0246802468 调用fun1()使得全局数组a值为{0,2,4,6,8} 调用fun3()输出全局数组a的值:02468 调用fun2()对全局数组a没有影响;再次调用fun3(),又输出一次全局数组a的值:02468

5种常见的Exception!
数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(假如要调用的话)2. java.lang.ClassNotFoundException 这个异常是很多原本在JB等开发环境中开发的程序员,把JB下的程序包放在WTk下编译经常出现的问题,异常的解释是"...

c语言判断数组是否有数据
只能遍历挨个检查是否有值。字符串也是如此,因为假设字符串原本有值,但是我直接将字符串的第一个字符设置为'\\0'那么strlen函数这个时候就失效了。

c二维数组a[2][3]中a[0]地址存放在第一个单元的第一个字节中,a[0...
,不占存放空间。所以不存在“a[0]地址存放在第一个单元的第一个字节中,a[0][0]的地址也是存放在同一个单元第一个字节中”这样的问题(不然的话,a[0][0]中一旦存放数据,那原本“存放”的地址岂不是要“丢失”了?)。问题的实际情况是:a、a[0]、a[0][0]的起始地址是相同的。

奎屯市15675423540: 我想输入a,b,c三个数,然后利用函数调用给三个数排序,c语言怎么写 -
独媛肌苷: 调用std::sort()来给3个数排序:#include <iostream> #include <algorithm> using namespace std; int main() {int a[3];cin >> a[0] >> a[1] >> a[2];sort( a, a+3 );cout << a[0] << " " << a[1] << " " << a[2]; }

奎屯市15675423540: c语言关于输入三个数,输出排列大小的算法 -
独媛肌苷: #include<stdio.h>#include<stdlib.h> int com(const void*a,const void*b) { return *(int*)b-*(int*)a; } int main() { int a[3],i; for(i=0;i<3;i++) scanf("%d",a+i); qsort(a,3,sizeof(int),com); for(i=0;i<3;i++) printf("%d ",a+i); printf("\n"); return 0; }

奎屯市15675423540: 怎样用C语言编写这样一个程序:输入三个整数,求其中的最大值? -
独媛肌苷: #include<stdio.h> main() { int s[3];/*定义一个3个元素的整型数组*/ int i,max; printf("please input 3 numbers\n"); for(i=0;i<3;i++)/*一次输入三个数*/ scanf("%d",&s[i]);/*三个数分别存入数组*/ max=s[0];/*假设第一个元素最大*/ for(i=1;i<3;i++)/*从第二个元素开始,依次比较*/ if(s[i]>max)/*如果大于当前最大值max*/ max=s[i];/*使之成为新的最大值*/ printf("the max number is %d\n",max);/*打印最大值*/ }

奎屯市15675423540: 求大神帮忙啊~C语言编程从键盘输入三个整数存入数组中,操作指针使数组中的数按从大到小的次序输出. -
独媛肌苷: 首先,输入三个数,你的数组开才开了2,数组开小了!a[3] 其次,scanf ("%d", &a[i]);这里要使用取地址符号才能进行输入 再次,你加的else ;这些语句都没有用,直接删除#include int main() { int *p,a[3],temp,i; p=a; printf("请输入三个数...

奎屯市15675423540: 设置C语言程序,由键盘输入3个数,按降序将其输出 -
独媛肌苷: 按照如下思路即可:1 定义三个元素的数组;2 输入三个数;3 对数组进行降序排序;4 输出数组.代码:int main() { int a[3],i,j,t; for(i = 0; i < 3; i ++) scanf("%d",a+i); for(i = 0; i < 2; i ++) for(j = i+1; j < 3; j++) if(a[i]>a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } for(i = 0; i < 3; i ++) printf("%d,",a[i]); }

奎屯市15675423540: c语言,输入三个数,输出其中的最大值 -
独媛肌苷: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19# include <stdio.h>intmain() {inta,b,c,max; printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c); if((a>=b)&&(a>=c))max=a;if((b>=a)&&(b>=c))max=b;if((c>=a)&&(c>=b))max=c...

奎屯市15675423540: c语言问题 输入三个数,输出升序 -
独媛肌苷: 你好,程序如下: #include<stdio.h> void main() { int a,b,c,min; printf("请输入三个数字:\n"); scanf("%d%d%d",&a,&b,&c); if(a<b&&a<c) min=a; if(b<a&&b<c) min=b; if(c<a&&c<b) min=c; printf("最小数字是: %d\n",min); } 有疑问提出. 望采纳.

奎屯市15675423540: C语言 输入三个数,求它们的最小值,最小值和中间值 -
独媛肌苷: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42#include<stdio.h> intmax_mid_min(inta,intb,intc) {intmax,mid,min;if(a>b){max = a;mid = b;}else{max = b;mid = a;}...

奎屯市15675423540: C语言问题,从屏幕输入数字赋给一个字符串数组 -
独媛肌苷: #include <stdio.h> void main() { int i,p[3]; printf("请输入任意三个数!\n"); for(i=0;i<3;i++) { scanf("%2d",&p[i]); } for(i=0;i<3;i++) { printf("%d",p[i]); printf("\n"); } }

奎屯市15675423540: 我想用c语音做:“输入三个数,按从大到小顺序排列输出” 自己写了一个,可是出问题了. 请多指教!! -
独媛肌苷: 用vc++运行通过:#include<stdio.h> main() { int a,b,c,m1,m2,m3; scanf("%d%d%d",&a,&b,&c); m2=a>b? a:b; m3=a<b? a:b; m1=m2>c? m2:c; if(m2>c)//改动 { m2=m3>c? m3:c; m3=m3<c? m3:c; } printf("\n%d,%d,%d\n",m1,m2,m3);//getch();这一行没有删除不能那个,删了能运行...我不明白这行是做什么?}

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