1樓:匿名使用者
按照運算子的優先順序,原式可寫為s+=(i++)。i++是在運算後才進行自增,因此s=0+1=1;i=1。
同理:第二步的s=1+1=2。
2樓:匿名使用者
s+=i++ 就是s=s+(i++),先運算後自加,即i先與s相加之後i再自加,所以s的值為1.
3樓:匿名使用者
s=1i++的意思是先使用i的值然後再自加1++i的意思是i先自加1然後再運算使用
s+=1的意思是s+1的運算結果賦給s
所以s+=i++ 之後 s=1 i自加1等於2 執行第二次同樣的運算的話 同理s+=i++
第二次s為2 i=2
絕對正確
4樓:思念天涯
i++表示的是,先引用,後自加;s+=a等價於s=s+a,所以,應該是這樣算才對,先引用i=1,然後s=s+i,s=0,i=1;所以最後s等於1;引用第二次後是i=2了,s等於1,加加起來就是s=2+2=4;一次類推,第三次就是s=7了,我上司這樣理解的,i++才是先自加,後引用。
5樓:匿名使用者
i=i+1可以變為i++.
假如s=0,i=1,s+=i++之後s = 1,i = 2 。
如果再執行一遍s+=i++之後s = 3, i = 3。
原因是『+=』屬於賦值運算子,由於運算子的優先順序,會先執行s=s+i,然後再執行i++
6樓:周可可
分為s=s+i,然後i++;如果s=0,i=1,執行之後就是s
=1,i=1
7樓:伍驪桖
s=0,i=1
s+=i++
s = 1;
這個程式是這樣執行的s先與i相加把值賦給s然後i再自加
8樓:匿名使用者
s+=i表示s=s+i,s+=i++,先進行s=s+i,得s=1,i=1,再i自加,得i=2
9樓:匿名使用者
s=0,i=1,s+=i++執行後 s = 1,i=2
在c語言中s[i++] 和s[i] i++的區別
10樓:魂夢藍
用生活中的數學來講就是
第一種相當於:
x=1+1
第二種相當於:
x=y+1
y=1兩種結果一樣,第二種不過是繞了個圈子,把結果賦值過去了希望能幫到你
11樓:匿名使用者
沒有什麼不同啊!都是將i使用之後再加一,對於陣列元素s[i++]和s[i]是相等的。s[i++] 只是比
s[i] i++寫法上簡單一點,其實功能是一樣的。
12樓:水清寒
沒區別 都是計算了s[i]的值,然後i+1
c語言中s*=i 什麼意思
13樓:成都
這裡來就是考察你對後置++。
前置++/-- ,先源做自加、減,在執行。例如int i = 0;
int j = ++i +2 ;// i先做加法,在加2賦給j ,即 j=3,i=1
後置++/--,先執行,在做自加、減。例如int j = 0;
int i = 0;
s[j++]=s[i];// 將s[0]賦值給s[0],然後,j加法處理,j=1;
14樓:匿名使用者
s*=i; 意思是s*i然後把結果再賦值給s...也就是s=s*i;
其它符號如:+ - / 類似運算語句也是一樣的意思
15樓:匿名使用者
如果s[i]
取值為 『0』 -- 『9』
s[i]=s[i]-'0'
執行後結果為s[i] 等於 0 - 9
16樓:若相惜s莫相離
s=s*i 類似的,a*=b等價於a=a*b
c語言中c[s[i]]++是什麼意思,詳細點哦,謝謝!
17樓:匿名使用者
c陣列中bai的第s[i]下標
的值自du加;例如
:zhi
int s[5]=;
int c[5]=;
int i=2;
s[i]=3; //s陣列dao裡下標為2的值為專3c[s[i]]=4 //c陣列裡下標為3的值為4c[s[i]]++等於4+1 //所以得屬出這行注意:上面的格式只為好理解,不是正確的**寫法
18樓:匿名使用者
i是一bai個整數,
s是整du
數陣列,
c也是整數陣列
s[i]是s陣列中第zhii-1個元素
值,dao則s[i]也是整數,所以
專c[s[i]]是數屬組c中第s[i] - 1 個元素值最後c[s[i]]++是將c[s[i]]自增1,也即將c[s[i]]+1的值還儲存在c[s[i]]中
19樓:匿名使用者
問題太不清楚了吧
字面上的樣子等價於
int x = s[i];
c[x];
++c;
20樓:匿名使用者
for(i=0;i<12;i++)c[s[i]]++;
當源i=0時,就是c[1]++ //因為s[0]=1;
當i=1時,就是c[2]++ //因為s[1]=2;
後面同理
#include
main()
,c[5]=,i;
for(i=0;i<12;i++)
for(i=1;i<5;i++)printf("%d",c[i]);
printf("\n");
}執行一下就明白c[s[i]]++的意思了
21樓:副部v觀後感
最後是怎麼得出4,4,3,2的呢?
c語言中*(s+i)!='\0' 是什麼意思?
22樓:匿名使用者
\0是字串結尾的標誌,這裡是在判斷字串是否到了最後(結尾)
23樓:匿名使用者
每個字串都以'\0'結尾,*(s+i)表示字串第i個字元,所以*(s+i)!='\0'判斷是否到結尾。
100表示數內組c的大小,可以根據你的字元長容度改變。100表示可以輸入100個字元。
可以不用陣列,比如c++的string,就是動態的字串,長度不用限定。
24樓:匿名使用者
在*(s+i) != '\0'這個表示式抄中,s為char *型別的bai指標,或一維陣列的陣列名。 i為整du數數值。
當然,也可zhi能是反過來,i為char *, s為int。 不過在daoc語言的命名時,將s定義為字串(string), i定義為整型(int)是常用的做法。
於是這裡,*(s+i)就是取s上第i個元素的值,等同於s[i]。
'\0'為轉義字元,其ascii碼值為0,在c語言中,是約定的字串結束符。
!=代表邏輯不等於運算,當!=兩側值相等時,值為假,否則值為真。
於是,這個表示式就是判斷s上第i個元素是否為字串結束符,如果是則表示式為假,否則表示式為真。
c語言中,t[i++]=s[j++]是什麼意思啊
25樓:香蕉
i++ 是先呼叫i的值,然後i自加1
若i=2,i++=3
t[i++]=s[j++]是將陣列s[i]的值賦給t[i]然後i,j 在自加
c語言voidmain在很多c語言中main前沒有為什
天河流紋石 c99規範要求main函式返回值必須是 int。但有些編譯器允許非標準的寫法,而且有一大批程式設計師不這樣寫。在應用角度來看,問題不大。但在原始碼規範上看,建議最好寫上。這就好比生活中,人們的口語總是有語病的。比如 你走先。這麼說,別人能聽懂 但要規範的話,還是要遵循語法。說成 你先走。...
在c語言中如何輸出空格,在C語言中如何輸出空格
向日葵一樣暖 c語言輸出空格的語句為printf 為轉義字元,用printf 是不能輸出空格的。printf 函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。printf 函式的呼叫格式為 printf 格式化字串 參量表 格式輸出,它是c語言中產生格式化輸出的函式 在 stdio....
c語言中extern是什麼意思,在C語言中標頭檔案的extern是什麼意思呢?
extern 宣告的函式是在外部定義的函式例項,最常見的就是通過extern定義在win32 dll定義的非託管函式。 取經人取經 就是全域性變數的意思,在建立工程的情況下,其他檔案也可以呼叫這個變數。 陳振龍 用了extern,就表示這個變數是全域性的和動態的,不存在使用哪一個的問題.比如3號檔案...