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,都是作為 真 來解讀的,所以,括號內的值就是 真 條件總是滿足,這一部分就等同於沒寫,即直接執行後面所跟的語...