有關C語言的小問題,關於C語言的幾個小問題

2021-08-03 14:05:51 字數 1803 閱讀 8319

1樓:匿名使用者

line 69: 函式showarr,parr是指向結構體的指標,你這裡要訪問的應該是它的成員陣列parr->pbase

void showarr(struct arr *parr)ps1:這個問題在編譯階段通常會有警告的,因為printf格式符%d是整數,你給的parr[i]跟它是不匹配的,會引起“format %d expect argument of type”的警告;

ps2:**寫得不規範,這裡僅指出一點,調的庫是c的,bool變數用的c++的,在稍早些的c標準裡面是沒有的。這樣寫在很多編譯器上是過不了的

2樓:受映冬俟山

答案是d,(1,3)那是逗號運算,從左至右算,所以結果是3

3%5==3,“%”前後必須是整型的,3%5就是求餘運算,如果是3/5,則是3/5==0。你懂了嗎?

3樓:羊舌平春醜容

問題一:選d。

x%y=1,x/y=3,則z=(1,3)結果要取後者,所以z=3.

問題二:3%5=5.

因為3除以5商0餘5,%取餘。

4樓:仍易闕鈴

問題一,那是逗號表示式,括號內依次運算,取最後的值為結果,所以是3而不是1,這個是定義了的,沒有為什麼,記住就好;問題二,3%5是3,因為這是取餘運算,就是簡單的取餘數,不用想的很複雜,和除法有區別!、

5樓:御巧蠻水凡

在c語言中,\是轉義符號,其後面緊跟著一個字元,兩者組合成一個新的字元,代表另外的意思,所以稱為轉義。

故,\0表示換行或者回車的意思;在字串中表示字串的結尾。

上面的**意思是,將讀入的字串,對有多少個字元進行統計,字串最後一位為\0

6樓:貴高馳史飛

第一個迴圈完成之後i=10

在第二個迴圈一開始,列印出a[10],但你的陣列只有a[0]到a[9]十個資料,a[10]記憶體越界,是隨機數

解決辦法是在第一個迴圈完成後i=i-1即可

關於c語言的幾個小問題

7樓:

非執行語句不會轉換成二進位制指令

(x/10)%10

不可以,%只能用於整型取餘

_0_可以做使用者標識,使用者標識不能以數字開頭

8樓:fs求救者

好像只有可執行語句被編譯成二進位制,

空格x-(x%10*10) , 256-(25*10)=6%兩邊都要是整數,

標示符是以英文字母 或下劃線開頭的,英文大小寫,數字字元0-9,和下劃線組成。

_0_對的。

c語言報錯的問題?

9樓:匿名使用者

你的程式錯誤,是在

cout << “enter the temperature in celsius:”;

cout << “fahrenheit value is:”;中用了中文狀態下的雙引號。

#include

#include

#include

using namespace std;

int main(int nnumberofargs, char* pszargs)

以上程式正確,可以執行。

如果還不行,那就是編譯器的問題。建議:用vc2008,c-free或vc2010.

微軟已停止對vc6.0進行更新了。(開始不習慣很正常,成為高手後會喜歡例如vc2010的)。

c語言程式設計小問題,C語言程式設計小問題

我的電腦 工具 選單 資料夾選項 檢視 頁 勾掉 已知檔案型別的副檔名 就可以顯示副檔名exe了 另外,這些檔案要到dos視窗 命令視窗 下執行才可以看到結果,如果在windows雙擊,程式執行終止後就會退出,當然視窗一閃就過了 首先,沒有.exe是因為你在 資料夾選項 中設定了 隱藏已知檔案型別的...

C語言的小問題,C語言的一個小問題。

s格式符表示輸出的是字串,後面對應的引數用字元陣列或是字元指標,c則是輸出單個字元,引數為該字元的ascii碼。char a 12 是字元陣列,賦值 hello world 後成為字串,賦值後,a 0 h a 1 e a 2 l a 3 l a 4 o a 5 空格 a 6 w a 7 o a 8 ...

C語言小問題

gets 函式會把輸入的字元連線起來並在後面加上 0 構成字串。不會把 n 補在後面,所以,a i 裡面是沒有 n 的,你的輸出 如果是a i 0就會在碰到 0 時停止,如果寫成a i 10,就不會停止,而是輸出10個字元,就是aaa及其後面的字元,後面的字元你並沒賦值所以是亂碼。一個誤解 gets...