1樓:匿名使用者
a[0]表示陣列中的bai第一個值
du,可以把它看成一個變zhi量x,
a[0]++也就是陣列dao中第一個值+1再存放到原位。
版比如 int a[2]; 其中a[0]=1; a[1]=5; a[0]++以後權,a[0]的值變為2;
2樓:匿名使用者
陣列a的第一個元素加1,陣列a應該是數值型的沒錯吧
3樓:a1穎穎
這個就是一個自增,陣列值的自增,就是sp[0]=sp[0]+1;
4樓:匿名使用者
陣列a的第一個元素增加一
陣列元素的下標是從0開始的。
5樓:
就是把a[0]的值+1。
比如i++命令等同於i=i+1
6樓:匿名使用者
a[1]/////////////
c語言a[0]++是什麼意思
7樓:小夏在深圳
a[0]++也就是陣列中第一個值+1再存放到原位。
比如:int a[2];
其中a[0]=1; a[1]=5;
a[0]++以後,a[0]的值變為2。
&a[0]++是錯誤語句,編譯都不會過。因為++是後++,在執行該語句時是不計算的。a[0]++是個表示式而不是值,顯然用&取一個表示式的地址是非法操作。
&a[0]+1是正確語句,因為&的優先順序比+高,所以是先取a[0]的地址再給這個地址+一個元素所佔位元組數——就是說&a[0]+1是a[1]的地址。
擴充套件資料源**如下:
#include "stdio.h"
main()
8樓:銀月惡魔_仙劍
可以自己試著編個程式,執行一下,如:
#include
void main()
;printf("%d\n",a[0]++);
return 0;
}程式執行到a[0]++的時候,a[0]=3;
等到所有語句執行完後,a[0]=4。
9樓:匿名使用者
#include
int main()
;printf("%d\n",a[0]++);
return 0;
}結果是3 雖然我感覺是4.。。。不過很可惜
10樓:匿名使用者
變成a[1]=3
一個變數 後加上++ 比如a++ 就是自己加1
11樓:匿名使用者
a[0]++是這次命令後值加1,應該是a[0]=4
12樓:磊無敵
我同意樓上說的,其實你把**執行一下不就知道了
在c語言裡面,&a[0]++和&a[0]+1分別表示什麼意思?
13樓:
&a[0]++;是錯誤語句,編譯都不會過。因為++是後++,在執行該語句時是不計算的,所以a[0]++是個表示式而不是值,顯然用&取一個表示式的地址是非法操作!而如果是&++a[0];則是正確的,因為前++在執行&時已經計算過了:
就是先給a[0]+1,然後再取a[0]的地址。
&a[0]+1;是正確語句,因為&的優先順序比+高,所以是先取a[0]的地址再給這個地址+一個元素所佔位元組數——就是說&a[0]+1是a[1]的地址。
14樓:匿名使用者
&a[0]++表示程式執行時會對執行結果自加1
&a[0]+1表示程式執行時對結果加上1,如果改為2就會加上2
15樓:一輩子朋中
他們的結果一樣,都是a[0]的地址加一
16樓:百度使用者
a[0]表示陣列a 的第一個元素,
&a[0]是取a[0]在記憶體中的地址
&a[0]++是將a[0]在記憶體中的地址向前移動一個單位.
理論上&a[0]+1和&a[0]++的執行效果是差不多的
17樓:匿名使用者
不一樣!
++的優先順序比&高,&比+高!
所以&a[0]++是進行a[0]=a[0]+1之後,在取a[0]的地址
而&a[0]+1是先取a[0]的地址,然後將指向這個地址的指標(假設int *p;p=&a[0];)移動一個資料長度,即指向了a[1];
&a[0]++
就是&a[0]+1就是
18樓:匿名使用者
這要看你要說的是
一維陣列還是二維陣列了,如果是一維,答案同atchoo,要補充的是,向前移動的是陣列資料型別所佔的記憶體空間,比如是int,就移動2個單元;如果是二維,
a[0]表示第一行首地址,&a[0]表示第一行第一列首地址,&a[0]++就是把第一行第一列的元素加1.
19樓:匿名使用者
有人說a = a + 1;比a++;慢,但現在的編譯器結果是一樣的.
20樓:信培勝戊衣
編譯錯誤如下,都是取得陣列a的第二個元素的地址&a[0]++與&(a[0]++)等價:6,無法編譯通過,不能取得地址;
表示a[0]++不是一個左值:
non-lvalue
inunary
`&'.cpp:
main。
而&a[0]+1與a+1和&a[1]是等價的
c語言中r!=0是什麼意思?
21樓:千鋒教育
r!=0的意思是bair不等於0。
c語言du是一種zhi計算機程式設計dao語言,屬高階語言範疇。內它既具有高階語言的容特點,又具有組合語言的特點。它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式,**清晰精簡,十分靈活。
22樓:匿名使用者
r!=0
就是說r不等於0
比如:int r=10;
if(r!=0)
else
很顯然,結果是輸出:r不等於0
23樓:匿名使用者
r不等於0,!是非的意思
24樓:匿名使用者
!0!!??!??!!?
c語言中陣列a[3][4]={{0,0,0,0}}和a[3][4]={0}是什麼意思?有何區別?請說詳細點。
25樓:匿名使用者
a[3][4]=} 表示定義一個3行4列陣列,並將開始的一行4個元素清零
a[3][4]= 表示定義一個3行4列陣列,並將所有元素清零
26樓:匿名使用者
沒有區別,只是寫法不同而已。都表示3行4列共12元素。{}裡德值是對陣列裡德元素一一賦值,數值不夠的就是0,0已省略。。應該能懂吧?
27樓:滄海雄風
前者把第一行4個全部初始化為0 第二第三行還是未初始化的隨機數字
後者全部初始化為0
c語言中的陣列是什麼意思?
28樓:手機使用者
把具有相同資料型別的若干變數按有序的形式組織起來,
以便於程式處理,這些資料元素的集合就是陣列,按照陣列
元素的型別不同,可分為:數值陣列、字元陣列、指標陣列
結構陣列等各種類別。
陣列說明的一般形式為:
型別說明符 陣列名[常量表示式],......;
其中型別說明符可以是任一種基本資料型別或構造資料型別
陣列名是定義的陣列識別符號。常量表示式表示資料元素的個
數,也就是陣列的長度。
對陣列型別的說明應注意:
1)陣列的型別實際上是陣列元素的取值型別。
2)陣列名的書寫應符合識別符號的書寫規範。
3)陣列名不能與其他變數名相同。
4)常量表示式表示陣列元素的個數,但是其下標從0開始計算
5)不能在方括號中用變數來表示元素的個數,但是可以用符號
常數或常量表示式。
6)允許在同一個型別說明中,說明多個陣列和多個變數。
陣列元素的表示方法
一般比較簡單就是陣列名[下標]來引用,先定義後用,如果
是小數的話,直接自動取整。
陣列賦值分為:初始化賦值和動態賦值
初始化賦值一般形式為:
static 型別說明符 陣列名[常量表示式]=;
static表示靜態儲存型別,c語言規定只有靜態儲存陣列和外部陣列
才可做初始化賦值。
c語言對陣列的初始化賦值還有幾個規定:
1)可以只給部分元素賦值。
2)只能給元素逐個賦值,不能給陣列整體賦值。
3)如不給可初始化的陣列賦初值,在在陣列說明中,可以不給出陣列
元素的個數。
下面看一下多維陣列
主要看一下二維陣列,其他的就可以用二維陣列類推得到
二維陣列的型別說明的一般形式是:
型別說明符 陣列名[常量表示式1][常量表示式2]...;
在c語言中二維陣列是按行排列的
二維陣列的表示方法:
陣列名[下標][下標]
二維陣列的初始化
二維陣列初始化也是在型別說明時給各下標變數賦以初值。 二維陣列可
按行分段賦值,也可按行連續賦值。
二維陣列的初始化還應該注意:
1)可以只對部分元素賦初值,未賦初值的元素自動取為0。
2)如對全部元素賦初值,則第一維的長度可以不給出。
字元陣列:
用來存放字元變數的陣列稱為字元陣列。
c語言允許用字串的方式對陣列作初始化賦值。例如:
static char c=; 可寫為:
static char c=; 或去掉{}寫為:
sratic char c="c program";
用字串方式賦值比用字元逐個賦值要多佔一個位元組, 用於存放字串結
束標誌'\0'。上面的陣列c在記憶體中的實際存放情況為: c program\0`\0'是
由c編譯系統自動加上的。由於採用了`\0'標誌,所以在用字串賦初值時一
般無須指定陣列的長度, 而由系統自行處理。在採用字串方式後,字元數
組的輸入輸出將變得簡單方便。 除了上述用字串賦初值的辦法外,還可用
printf函式和scanf函式一次性輸出輸入一個字元陣列中的字串, 而不必
使用迴圈語句逐個地輸入輸出每個字元。
void main()
printf("%s\n",c);
注意在本例的printf函式中,使用的格式字串為"%s", 表示輸出的是一
個字串。而在輸出表列中給出陣列名則可。 不能寫為: printf("%s",c);
void main()
char st[15];
本例中由於定義陣列長度為15, 因此輸入的字串長度必須小於15,
以留出一個位元組用於存放字串結束標誌`\0`。 應該說明的是,對一個字
符陣列,如果不作初始化賦值,則必須說明陣列長度。還應該特別注意的是,
當用scanf函式輸入字串時,字串中不能含有空格,否則將以空格作為串
的結束符。例如執行例4.8,當輸入的字串中含有空格時,運**況為:
input string:this is a book this 從輸出結果可以看出空格以後的字元
都未能輸出。 為了避免這種情況, 可多設幾個字元陣列分段存放含空格的
串。程式可改寫如下:
lesson
void main()
本程式分別設了四個陣列, 輸入的一行字元的空格分段分別裝入四個陣列。
然後分別輸出這四個陣列中的字串。在前面介紹過,scanf的各輸入項必須以
地址方式出現,如 &a,&b等。但在例4.8中卻是以陣列名方式出現的,這是為
什麼呢?這是由於在c語言中規定,陣列名就代表了該陣列的首地址。 整個
陣列是以首地址開頭的一塊連續的記憶體單元。如有字元陣列char c[10],在
記憶體可表示如圖4.2。設陣列c的首地址為2000,也就是說c[0]單元地址為2000。
則陣列名c就代表這個首地址。因此在c前面不能再加地址運算子&。如寫作
scanf("%s",&c);則是錯誤的。 在執行函式printf("%s",c) 時,按陣列名c
找到首地址,然後逐個輸出陣列中各個字元直到遇到字串終止標誌'\0'為止。
字串常用函式:
用於輸入輸出的字串函式在使用前應包含標頭檔案"stdio.h",使用其他字串
函式則應包含標頭檔案"string.h".下面介紹幾個常用的字串函式:
1)字串輸出函式 puts 格式:puts(字元陣列名) 功能:把字元陣列中的字元
串輸出到顯示器。
#include"stdio.h"
main()
2)字串輸入函式gets 格式:gets(字元陣列名) 功能:從標準輸入裝置上
輸入一個字串。
#include"stdio.h"
main()
tips:gets函式並不以空格作為字串輸入結束的標誌,而只是以回車作為輸入
結束,這是與scanf不同的部分
3)字串連線函式strcat 格式:strcat(字元陣列名1,字元陣列名2)
功能:把字元陣列2中的字串連線到字元陣列1中字串後面,並刪去字串
1後的串標誌"\0",本函式返回字元陣列1的首地址。
#include"string.h"
main()
4)字串拷貝函式strcpy 格式:strcpy(字元陣列名1,字元陣列名2)
功能:把字元陣列2中的字串拷貝到字元陣列1中,串結束標誌 "\0"也一同
拷貝,字元陣列2也可以是一個字元常量,就相當於把一個字串賦予一個字元陣列
#include"string.h"
main()
5)字串比較函式strcmp格式:strcmp(字元陣列1,字元陣列2) 功能:
按照ascii碼順序比較兩個陣列中的字串,並有函式返回值返回比較結果
#include"string.h"
main()
a[i]=n;
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}例二:
main()
;int b[3],i,j,l;
for(i=0;i<=2;i++)
printf("\narray a:\n");
for(i=0;i<=2;i++)
printf("\narray b:\n");
for(i=0;i<3;i++)
printf("%5d",b[i]);
printf("\n");
}例三:
void main()
if(p!=i)
puts(cs[i]);
printf("\n");
在c語言中是什麼意思在c語言中是什麼意思
有好多種形式。1.運算子 取餘運算子。2.格式 d是整型,c是字元型,是輸出 ld是輸出長整型。f是輸出浮點型 小數形式 e是輸出浮點型 指數形式 lf le用於輸出double型,g選 e f長度小的一種,且不輸出多餘的零。o輸出八進位制,不會輸出負的,x輸出十六進位制。hd用於輸出短整型。s用於...
floor在C語言中是什麼意思,C語言中 c是什麼意思
floor 是c語言中的一個數學函式,意思是向下取整,即取不大於要求值的最大的那個整數 專值。floor原意為地板之意,屬可以助記為數值猶如人處在地板上,取小於該數值的地板。函式標頭檔案 include 函式原型 double ceil double x 函式說明 floor x 返回不大於x的最大...
c語言中ik0是什麼意思,C語言中i k 0是什麼意思
這是一個邏輯判斷表示式。意思是i除以k的餘數等於0是否成立,如果成立,表示式的值為1,否則為0 判斷i除k的餘數是否等於0 一般放在if裡面 就是判斷i是否能被k整除 判斷 i是否能被 k整除。判斷i除以k的餘數是否等於0,即i是否能被k整除。當i和k都是整數型的時候,是整除,是模除取餘 i k 0...