本文目录一览:
- 1、C语言里,一维数组array[0]=array[0]加 array[i]错哪了?
- 2、关于c语言的一维数组排序纠错
- 3、C语言里用strstr函数,用一维数组会有错误,二维数组却没有,为什么?
- 4、C语言,一维数组已经赋值,然后再赋值的话,为什么就报错了呢?附图如下,是不是不能二次赋值啊?
- 5、求高手,C语言,一维数组已经赋值,然后再赋值时,报语法错误,附图如下,请问怎么回事
C语言里,一维数组array[0]=array[0]加 array[i]错哪了?
C语言里,从语法上讲,一维数组array[0]=array[0]+array[i]是没有错的。但是,如果i没有赋值或i的取值超出了数组下标的范围,那就是错了的。
关于c语言的一维数组排序纠错
/*
请输入第1个数 : 78
请输入第2个数 : 90
请输入第3个数 : 32
请输入第4个数 : 45
请输入第5个数 : 67
请输入第6个数 : 91
32 45 67 78 90 91
Press any key to continue
*/
#include stdio.h
#define N 6
void order(int a[],int n) {
int i,j,temp;
for(i = 0; i n - 1;i++) {
for(j = i + 1;j n;j++) {
if(a[i] a[j]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
int main() {
int a[N],i;
for(i = 0;i N;i++) {
printf("请输入第%d个数 : ",i + 1);
scanf("%d",a[i]);
}
order(a,N);
for(i = 0;i N;i++) printf("%d ",a[i]);
printf("\n");
return 0;
}
C语言里用strstr函数,用一维数组会有错误,二维数组却没有,为什么?
那不可能。strstr只能用在以'\0'结尾的字符型数组里查找一个字符串,如果字符型数组不以'\0'结束,则找不到字符串时就会出错,但不一定报错。这与数组是一维的或二维的无关。
C语言,一维数组已经赋值,然后再赋值的话,为什么就报错了呢?附图如下,是不是不能二次赋值啊?
你第一次赋值就不对,这种赋值方式只能在声明初始化时,不能这样,数组是不能整体赋值的。
int a[3]={1,2,3};
这样是可以的,
而像你那样不对。
下面的for循环才是正确的赋值方式。
求高手,C语言,一维数组已经赋值,然后再赋值时,报语法错误,附图如下,请问怎么回事
int a[3]={1,2,3}; //这叫数组初始化,是允许的。 除去定义时可以这样写外,其他的地方都不允许这样写!!
a[3]={...} ; //这时的a[3]是一个数组元素,不代表整个数组。而且数组元素下标是从0开始的,int a[3] ;中的有效元素是a[0],a[1],a[2]!!! a[3]是个无效的元素!
数组元素的赋值如你的for()语句方法,是正确的!