C語言新手陣列問題,C語言陣列問題

2021-03-19 18:18:57 字數 3100 閱讀 3572

1樓:匿名使用者

(a+i+j)=((a+i)+j) ,

理解運算優先順序就好了, 裡面的那個括號 可有可無

2樓:斯坦恩貝格(北京)電子****

原解析有誤。

二維陣列其實就是i個具有j個元素的一維陣列,因此a[i][j] --> (*(a+i))[j] --> *(*(a+i)+j)

c語言陣列問題

3樓:千鋒教育

你的**問題有以下幾個:

1、min和max沒有初始化

2、對於a[min]和a[max]沒有做迴圈參考**如下:

#include

main()

printf("最大數是%d,下標是%d,最小數是%d,下標是%d\n", a[max], max, a[min], min);}

4樓:天雨下凡

#include

void main()

c語言的問題,指標陣列

5樓:匿名使用者

改變不了,字串常量是改不了的,你可以試試char *p = "aaaaa";

p[1] = b;這樣是改不了的

只能定義二維陣列才可以改

char p[3][100] = ; 這樣才可以改,不要問為什麼,字串常量就是不能改

6樓:千鋒教育

直接讓指標指向另一個字串即可

p[0]="aaaa";

7樓:橙

這樣定義指標指向的字串是無法修改的。

關於c語言中陣列定義問題

8樓:育知同創教育

主函式內定義的陣列在堆疊段中分配記憶體。

全域性變數陣列在資料段中分配記憶體。

一般資料段比堆疊段大很多,

所以堆疊段分配不了的記憶體,資料段可以分配

(1)在堆疊段中分配記憶體,由於太大無法分配,所以錯誤。

(2)在資料段中分配記憶體,資料段可以分配,無錯誤。

(3)陣列比(1)需要的記憶體少,在堆疊段大小範圍內,可以分配,無錯誤(4)同(3)

c語言字串陣列的問題

9樓:匿名使用者

#include

int main()

;scanf("%s",a);

for(i=0; a[i] != '\0'; i++)for( j=0; j<5; j++) //修改:1:下標從0~4,共5個

return 0;}

10樓:兄弟連教育北京總校

每行結尾的 \ 僅僅是為了連線字串使用的,

如果一個字串過長,寫在一行比較不合適,

就在該行結尾處加上一個反斜槓 \ 就可以在下邊的行繼續寫這個字串,

如 "123456789abcdefg"

和"123456789\

abcdefg"

這兩種寫法是同樣的。

而根據text函式的特性

text ("text files (*.txt)\0*.txt\0") \

text ("ascii files (*.asc)\0*.asc\0") \

text ("all files (*.*)\0*.*\0\0")

又等同於

text ("text files (*.txt)\0*.txt\0ascii files (*.

asc)\0*.asc\0all files (*.*)\0*.

*\0\0")

所以你上邊寫的就等同於

static tchar szfilter=text ("text files (*.txt)\0*.txt\0ascii files (*.

asc)\0*.asc\0all files (*.*)\0*.

*\0\0") ;

確實是一個字元陣列,對於字串陣列的說法,我也不敢苟同。

11樓:

if(a[i]==b[j]) 是判定不是賦值

c語言陣列與指標相關問題,謝謝

12樓:一顆程式猿

*p[1] 相當於 p[1][0], 值為4, 加上1就是5了

13樓:千鋒教育

注意操作符的優先順序,第三個*p[1]+1中最高,所以是p[1]即為34f9a8,再是*指標取內容操作符,即取出地址34f9a8的內容即為4,再+1所以得到5

c語言指標陣列

14樓:千鋒教育

p是int型別指標,指向陣列a的第1個元素即一個一維的陣列首地址所以p[1]相當於a[0][1]所以printf("%d\n",p[1]);

輸出2 。 int **pp =pa 是宣告瞭一個指向pa的指標,而pa又是指向a首地址的int型別指標。pa指向的是a的第一維,pa[0] = a[0] ,pp[2][1]相當於a[2][1]而a陣列的[2]中只初始化了[2][0]位置的7,那[2][1]位置就是預設的值0,所以printf("%d\n",pp[2][1]);輸出0

15樓:匿名使用者

void main()

,,};

int *pa[3]=;

int *p=a[0];

int **pp=pa; //這句什麼意思??//定義了指向指標的指標變數

printf("%d\n",*a[1]);

printf("%d\n",*(*(a+1)+1));

printf("%d\n",*pa[1]);

printf("%d\n",p[1]); //為什麼輸出為2 ???//這裡應該是輸出了一個地址

printf("%d\n",pp[2][1]);} // pp不是地址嗎,不加* 嗎?//指標指向陣列的首地址之後是可以當陣列名用的。

C語言陣列下標,C語言陣列的下標

下標可以是變數 也可以是常量。直接說a 0 a 1 a 2 a 3 這樣的下標就是常量。對於訪問來說,不在意是變數還是常量,系統只是需要一個值,作為偏移量 不管是變數還是常量,訪問的時候 肯定是一個特定值,而系統要的 無非是這樣一個偏移量而已。c語言陣列的下標 樓主你好。注意a是常量,不要被別人誤導...

c語言中陣列元素互換的問題,C語言中陣列元素互換的問題

當index為0時,bai陣列中下標為du0的和下標為4 0的元素交換,也zhi就是第一個和最後一dao個交換,回1,5 交換 當index為1時,答陣列中下標為1的和下標為4 1的元素交換,也就是第二個和倒數第二個交換,2,4 交換 因為此陣列元素的個數為奇數個,所以,最中間那個沒有必要交換,所以...

C語言問題 陣列a 100 1 1 2 3 4 4 5 6 7。程式設計序,刪除相同的

下面的程copy序能把任意多個相同連續的數 以 1表示結尾 刪得只留一個 include int main void for i 1,j 0 a i 0 i if a i a i 1 a i 0 a j a i for i 0 i j i printf d a i printf n return 0...