C語言,解釋和更改

2022-03-12 19:56:12 字數 987 閱讀 2359

1樓:物理公司的

int main()

, n, k, m, t;

for(m = 0; n>0;n-- )

printf("%d", m);

return 0;}

2樓:匿名使用者

> m ? a[t] : m);可替換為:

m = 0; //最大值賦值初值0

scanf("%d", &n); //讀乙個數while( n-- > 0 && scanf("%d", &t)!=0 ) //當n大於0時,讀資料

3樓:匿名使用者

for(m = 0, scanf("%d", &n)

;//初始化m,n, m賦值0,n有使用者用鍵盤輸入,根據for定義這句執行僅一次。

n-- && scanf("%d", &t);

//每次判斷判斷兩個值是否等於0, 每次n自減1,scanf返回值,如果有乙個等於0退出

m = ++a[t] > m ? a[t] : m);

/*是乙個三目運算表示式,可以這樣寫 m = (++a[t] > m ? a[t] : m));

下標t的值先加1操作, 再判斷下標t這個元素的值是否大於m,是的話就賦給m,

不是 (就是不變)m自己賦給自己,*/

4樓:匿名使用者

for迴圈的3塊

m = 0, scanf("%d", &n);//初始條件,m=0,並讀入乙個數到n

n-- && scanf("%d", &t);//迴圈條件,讀入乙個數到t, 判斷n和scanf的返回值是否都大於1, 然後n-=1

m = ++a[t] > m ? a[t] : m;//迴圈一次後執行的語句, 先a[t]自增1, 再判斷a[t]和m的大小,如果 a[t]>m則m=a[t],否則m=m

C語言問題求解?C語言問題,求解釋

簡單的說 由於你的 是非標準方法訪問變數,導致結果非常不確定,沒有固定答案,不同編譯器結果不一樣。你這樣是故意記憶體訪問越界來計算麼?為什麼要研究這個呢?因為這樣做非常明顯的違背軟體工程的。問題是這個答案是沒有標準答案的,因為編譯器會對結構內的記憶體布局稍微做調整,不同編譯器和不同編譯條件導致的布局...

求C語言大俠解釋

首先,1 3 5 7 9 11 s4 i 2,說明i為相乘的元素 因為,1,3,5,7,9之間是2的等差數列,所以每回i加2 所以s4需要改為 i 2 i 改為 s1 1 t s2 3 i s3 t i t s4 i 2 i s5 若i 11,返回s3,否則,結束 幫你縷一縷 s1 t 1 s2 i...

C語言if12怎麼解釋,在C語言中,ifa1b2是什麼意思?

這個bai寫法是錯誤的。在duc語言中整個邏輯表示式應zhi該被完整地寫在一dao個圓括號中。所以,上回述表示式應答 當寫為 if 1 2 實際上,如果真就直接這麼寫的話,因為1和2都不為0,都是作為 真 來解讀的,所以,括號內的值就是 真 條件總是滿足,這一部分就等同於沒寫,即直接執行後面所跟的語...