C語言問題

2022-06-18 07:45:02 字數 662 閱讀 9180

1樓:匿名使用者

看錯誤只有乙個,那問題出在

for (j=0;j

int i,j;

改為:int i;

unsigned j;

事實上,總體來說,這個警告在你這裡完全不起作用,只是因為是個警告讓你覺得礙眼而已!

------------

看來是兩邊型別不一致,乙個是有符號,乙個無符號,警告而已,編譯會隱式將有符號的轉為無符號的再進行比較.

2樓:匿名使用者

你用了小於號,但是小於號左右分別是有符號和無符號,這樣比較容易出問題

3樓:樂正涵柳

對於比較的表示式,要求兩邊型別相同,否則可能出問題,尤其是signed/unsigned,比如:

#include

#include

void main()

} sn和un不相等,但是在記憶體中的表現是相同的,都是0xffffffff,所以認為相等,這是乙個隱患,所以會提醒你。

----------------

一般情況下這個警告不用理會,不過最好改為:

j<(int)strlen(xx[i])

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...

C語言問題,c語言問題

這是值傳遞,值傳遞的過程的是,系統會給你的實參的值進行乙個拷貝,把這個拷貝傳遞給形式引數。因為是拷貝,所以實參裡頭的值是不會改變的。如果是位址傳遞就不一樣了。補充 你可以定義乙個指標,這個指標指向主函式的結構體。然後子函式的形參也定義乙個指向結構提的指標。這樣就是位址傳遞了。樓主還是好好花點時間看看...

c語言問題,求助,C語言問題,求助!!!

這種問題用哈夫曼樹的逆向思想就可以解決了,所以我建議還是自己按這思想好好研究一下。自食其力。c語言問題 因為 define s a p a a 定義後 是直接替換 運算過程是這樣的 3 3 5 3 5 所以是29 弱勢這樣定義的 p a a 結果就是192 3 3 5 3 5 9 15 5 29 巨...