請問
我宣告
char ch;
ch=0;跟
ch='0';
這兩ㄍ有一樣ㄇ??
請問
我宣告
char ch;
ch=0;跟
ch='0';
這兩ㄍ有一樣ㄇ??
char i='a';
a當作字元。
那我問ㄉ題目
char ch;
ch=0;
ch='0';
這兩ㄍ有一樣ㄇ??
建議你 先把C 的基本資料類別意義搞清楚一點。最初由 流浪者~MIT 發表
那我問ㄉ題目
char ch;
ch=0;
ch='0';
這兩ㄍ有一樣ㄇ??
不過答案是沒有一樣。
''在c的語法是字元的意思最初由 流浪者~MIT 發表
那我問ㄉ題目
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迴圈
>>>我這樣解釋對ㄇ???
if(kbhit())最初由 流浪者~MIT 發表
------------------------
if(kbhit())
ch=getch();
else
ch=0;
while(ch=='0')
{
xxxxx
break;
}
------------------------
意思是說(假設程式是無限迴圈會回到最上面)
當我按下鍵盤上面的0
就?..
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以前好像都是符號)
沒錯最初由 carage 發表
ch=0? 請查一下ASCII表
這應該會把ch的值定為表中0的值(a好像是65, 65以前好像都是符號)
#include<iostream.h>
void main()
{
char ch;
ch=65;
cout<<ch;
}
跑出來的結果會是a
書籤