C語言問題 s a和s s a的區別?謝謝

時間 2021-10-21 16:55:35

1樓:聽不清啊

s+=a比s=s+a執行的效率要高一些,執行效果是一樣的。

2樓:匿名使用者

從結果上看是一樣的,但是底層實現上,第一種寫法的效率要高一點。第一種寫法相當於先把a的值取出來,再加到s當中;而第二中寫法是分別將s,a取出來再做加法,結果再存回s裡面。

3樓:匿名使用者

你看嘛如果用第一個語句,迴圈到n=99+1的時候(這時求了1到99的和),再回到while條件,是滿足n<=100的,所以進行下一步s=s+n的運算,這時才加到了100.再往下進行n=n+1的時候已經超過條件101,就不能再求和了。如果用第二個語句到99=98+1的時候,求到了1到99的和,99沒有超過100,可以繼續迴圈,這時n=99+1,s=s+100,就求到了100的和啊,再繼續迴圈就超過了100,不能再算了。

他說的那個順序問題,其實我覺得就按步驟來做,如果滿足條件就進行下一步迴圈,你可以分成2步。你只要看這次的結果是否滿足條件,如果滿足,就進行,而進行出來的結果是已經得到的,暫時不用管他是否越界,下一步才是看是否越界,能否進行下一步迴圈其實我也是新手,但願能講清楚~共同進步~

4樓:匿名使用者

恩 ,同意zyh1141298056 的說法,一般講解c語言程式設計的書,只要是深入些的,都會講到記憶體操作和演算法的優化問題;

這兩種寫法雖然結果一樣,但第一種明顯比第二種效率更高,原因正如上面所說的,兩次記憶體的取存,自然比一次的更耗時間;

不過一般我們人為的看不出罷了,推薦用第一種。

5樓:匿名使用者

沒有區別的,看你習慣用哪個,你就用哪個

c語言中s+=a++ 是什麼意思?

6樓:匿名使用者

1.s+=a++等價於 s=s+a++;

等價於 s=s+a; a=a+1;

意思是: s自增a值以後,a再自增1。

2.要弄清楚表示式的具體含義,必須知道運算子運算的先後順序,然後分步進行解釋。

以下是運算子的優先順序別表:

7樓:匿名使用者

是s=s+a++的意思,其中a++是a=a+1的意思,但++在a後面表示後加加,是整個表示式運算結束後才執行a=a+1

8樓:匿名使用者

等價於s += a;

a = a + 1;

+= 為 加後賦值

++在變數後面是先使用變數, 然後再自加

如果在前面 就是先自加再使用.

這個是執行順序的問題(++, -- 都是), 和優先順序沒有關係

9樓:75_飛星

s=s+a++

其中發表示式a++的值是a,在語句執行之後a自加1

10樓:匿名使用者

這裡相當於2句

s += a; // 這裡相當於 s = s + a;

a++;

11樓:匿名使用者

s=s+a,a是用完後在後加1的

12樓:博爾思拓

首先你要明白什麼是表示式,還有變數。

a是一個變數。

a++,++a都是a加了1.

比如a原來是1,執行了a++或++a後,a變數的值就是2了

至於a++和++a的區別主要是在表示式上的區別。

++a是先執行了a加1後,參與表示式的計算。

a++是a先參與表示式的計算,後執行自加1.

比如:int a,b;

a=1;//如果你想把a的值1,付給b.那麼,但你又想使得a加1。你就可以這麼做

b=a++;//++在a之後,先把a的值付給b,然後再本身加1 。這時候b=1,a=2了。

//如果你還不懂得話。b=a++;的意思 就是b=a;a=a+1;這兩句意思

//而b=++a 就是 a=a+1;b=a;的意思

至於a++=a+a+1

好像寫錯了吧

是a+=a+a+1

優先順序等於 a=a+(a+a+1)//a+=b 是 a=a+b 的簡化

!= 不等於,是條件運算子,用來判斷真假的。

比如1!=2; 表示式的值就是假,也就是0;

c語言很多式子都是簡化的,這樣雖然可以節省**,卻比較讓人糊塗。

13樓:海笑認為

a++就是運算後+1,在表示式裡面的時候還是a而++a就是先a+1然後代入表示式計算。

!=是不等於的意思

c語言 求s=a+aa+aaa+aaaa+aa...a 的值

14樓:匿名使用者

#include

int main()

printf("s=%lld\n",s);

return 0;}

c語言中要寫表示s=(a+b+c)/2,為什麼要寫成s=1.0/2*(a+b+c);而不寫成s=(a+b+c)/2;呢?

15樓:匿名使用者

s=(a+b+c)/2

是整數操作

例如:1/2結果是0,3/2結果是1。

s=1.0/2*(a+b+c)

為浮點數操作

1.0/2結果是0.5。

C語言的問題,fread和fgets的區別是什麼

夜禮服假面 fread和 fgets的區別 fread 以位元組位計算長度,按照指定的長度和次數讀取資料,遇到結尾或完成指定長度讀取後停止.fgets 整行讀取,遇到回車換行或結尾停止.在文字方式時使用.讀字串函式fgets函式的功能是從指定的檔案中讀一個字串到字元陣列中,函式呼叫的形式為 fget...

c語言中 》和 的區別,c語言中 a a 和 a 的區別

1 指向不同 一般情況下用 只需要宣告一個結構體。格式是,結構體型別名 結構體名。然後用結構體名加 加域名就可以引用域 了。因為自動分配了結構體的記憶體。如同 int a 一樣。而用 則要宣告一個結構體的指標,還要手動開闢一個該結構體的記憶體,然後把返回的指標給宣告的結構體指標,才能用 正確引用。否...

c語言中f與lf有什麼區別,C語言問題 f和 lf的區別

lf n和 f n的區別為 輸入不同 輸出不同 精度損失不同。一 輸入不同 1 lf n lf n輸入資料時要求是float型別。2 f n f n輸入資料時要求是double型別。二 輸出不同 1 lf n double型別以 lf n格式輸出資料時不會自動轉成 lf n格式,會導致輸入值錯誤。2...