會員 | 關於C語言中的char 請問 我宣告 char ch; ch=0;跟 ch='0'; 這兩ㄍ有一樣ㄇ?? |
回覆 |
あなたの家に行く | char i='a'; a當作字元。 |
回覆 |
會員 | 那我問ㄉ題目 char ch; ch=0; ch='0'; 這兩ㄍ有一樣ㄇ?? |
回覆 |
無聲無息的影子 | 引用:
不過答案是沒有一樣。 | |
回覆 |
會員 | 引用:
""在c的語法是字串的意思 沒有的話是數值的意思 所以你要先搞清楚字元字串數值在c的語法是什麼,及表代什麼意義 而char是1byte大小 '0'是字元在acsii為30 16進制,所以ch='0' 其ch內含真正的值是0011 0000 而ch=0,其ch內含真正的值是0000 0000 其ascii 0為null,所以ch為null 不信你可以試試下面的程式 #include <stdio.h> main() { char ch; ch=0;//數值 printf("%x\n",ch);//%x 是16進制表示法 printf("%c\n",ch); ch='0';//字元 printf("%x\n",ch); printf("%c\n",ch); } | |
回覆 |
會員 | ------------------------ if(kbhit()) ch=getch(); else ch=0; while(ch=='0') { xxxxx break; } ------------------------ 意思是說(假設程式是無限迴圈會回到最上面) 當我按下鍵盤上面的0 就會進入while迴圈 接下來可是我沒有按下任何鍵所以ch=0 可是ch=0不符合while條件判斷(ch=='0') 所以不會進入while迴圈 >>>我這樣解釋對ㄇ??? |
回覆 |
會員 | 引用:
ch=getch(); else ch=0; while(ch=='0') { xxxxx break; } 這樣是沒錯,但我通常不會在令ch=0,因為就算沒else ch=0;也不會進入while 廻圈,這是會使compile後程式碼加大,浪費時間,與儲存空間,但這是你的思想,我不會說什麼,只能建議 最後給你建議,以後寫程式作業或其它,先自己寫好,在跟看同學如何寫,比較那一種寫的好,這會使你功力大增,你會發別人的想法是什麼,自己的想法是什麼 因為我自己碰過,寫一個大程式,我自己RUN的時間要2小時,別人只10分鐘, 所以學程式不單只是學語法,還要學如何寫是最好,最高級的程式... | |
回覆 |
會員 | ch=0? 請查一下ASCII表 這應該會把ch的值定為表中0的值(a好像是65, 65以前好像都是符號) |
回覆 |
會員 | 引用:
#include<iostream.h> void main() { char ch; ch=65; cout<<ch; } 跑出來的結果會是a | |
回覆 |
|
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。