關於C語言的問題

時間 2021-08-30 10:47:40

1樓:匿名使用者

樓上的不對啊,不是getchar()

在程式末尾處加個getch();或者在標頭檔案加#include,然後在程式末尾加system("pause");語句,這兩個語句都可以使你的程式在所有語句執行完後停留住,直到你按下任意鍵

2樓:忍著被

首先你的迴圈只迴圈10次,只可能迴圈到f後邊的迴圈不到。其次,當計算機執行完程式後就會關閉,而計算機執行的速度又極其快,所以你剛一輸入f他瞬間輸出f並關閉程式。解決方法,在開頭新增#include在程式末尾新增getchar();這樣程式在執行完成以後會等待你再輸入一個字元進去才會結束關閉。

3樓:

在程式後面加一句

getchar();

因為程式沒有停留,直接結束了

4樓:

scanf函式中得 %c可以接受空格和回車作為字元

所以實際上也接受了回車

5樓:邊又柔

首先要說明一下,在邏輯表示式中,只有真假兩個值,真就是非0的數,假即為0。

第1題,d=(a>b) || (++a==5) && ( c > b--)。

首先看(a>b),由a=4,b=7,可知,(a>b)為假,也就是說,值為0。

然後看(++a==5),先計算++a,由a=4,得++a的值為5,所以(++a==5)為真,值為1。

此時a=5。

再看(cb) || (++a==5) && ( c > b--)整體的值,由運算子優先順序可知,&&的優先順序要高於||,所以,應先計算(++a==5)&& ( c > b--)的值,經過之前的計算可以知道,該式值為真。

所以(a>b) || (++a==5) && ( c > b--)等於(a>b) || 1,也為真。於是d=1。如果此時再輸出a,b,c,d的結果的話,應為a=5,b=6,c=5,d=1。

第2題 temp=!a+b*c-b/a&&b-a*!(c-a)。

先看(!a),由a=10即a為真,可知(!a)為假,值為0。

由(b*c-b/a)可知,(15*14 -15/10)不可能為0,所以為真,值為1。

再看(b-a*!(c-a)),(c-a)=4,為真,所以!(c-a)為假,值為0,

a*!(c-a)=a*0=0,b-a*!(c-a)=b-0=b=15,由b=15可知,值為真。

由(b*c-b/a)=1, ( b - a * !(c-a) )=1,可知( b*c - b/a ) && ( b - a * !(c-a) )=1。

由( !a )可知, ( !a ) + ( b*c - b/a ) && ( b - a * !(c-a) )=1,所以temp=1

關於c語言的問題,關於C語言的問題

鷹弈 1 有定義 int n 0,p n,q p 則以下選項中,正確的賦值語句是 d a.p 1 b.q 2 c.q p d.p 5 解 p為一級指標,其中p為指標的地址,q為二級指標,其中 q為指標的地址,只能給變數或指標變數賦值,不能給地址賦值,所謂地址,就是由acs碼構成,簡單的說,就是每個人...

關於C語言的簡單問題,關於C語言的6個問題

void的意思是空。main 其實是縮寫,寫全是int main 意思是函式又返回值。函式結束都會有return 0。意思是如果返回了乙個值,值等於0,那麼這個函式是能編譯的。因為如果返回了0,說明函式能執行完。有些時候你會發現後面並沒有return 0,那也只是省略了,但實質是有的。void ma...

有些關於C語言的問題,C語言報錯的問題?

1 以下選項中屬於c語言的資料型別是 a.複合型 b.雙精度型 c.邏輯型 d.集合型 b正確2 以下說法中正確的是 a.c語言程式總是從第一個的函式開始執行 b.在c語言程式中,要呼叫的函式必須在main 函式中定義 c.c語言程式總是從main 函式開始執行 d.c語言程式中的main 函式必須...