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]) 符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0... 這是值傳遞,值傳遞的過程的是,系統會給你的實參的值進行乙個拷貝,把這個拷貝傳遞給形式引數。因為是拷貝,所以實參裡頭的值是不會改變的。如果是位址傳遞就不一樣了。補充 你可以定義乙個指標,這個指標指向主函式的結構體。然後子函式的形參也定義乙個指向結構提的指標。這樣就是位址傳遞了。樓主還是好好花點時間看看... 這種問題用哈夫曼樹的逆向思想就可以解決了,所以我建議還是自己按這思想好好研究一下。自食其力。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 巨...C語言問題,C語言問題
C語言問題,c語言問題
c語言問題,求助,C語言問題,求助!!!