本文目錄一覽:
- 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()語句方法,是正確的!
原創文章,作者:TWWNX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/329236.html