關於C語言中的char

顯示結果從第 1 筆 到 9 筆,共計 9 筆
  1. #1
    會員
    註冊日期
    2002-07-25
    討論區文章
    468

    關於C語言中的char

    請問
    我宣告
    char ch;
    ch=0;跟
    ch='0';
    這兩ㄍ有一樣ㄇ??



  2. #2
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022
    char i='a';

    a當作字元。
    2002.8.17 - 2024.1.9

    繪本:Ghost cemetery



    畫集:日めくり 365


    名簿:創彩少女庭園

  3. #3
    會員
    註冊日期
    2002-07-25
    討論區文章
    468
    那我問ㄉ題目
    char ch;
    ch=0;
    ch='0';
    這兩ㄍ有一樣ㄇ??

  4. #4
    無聲無息的影子
    註冊日期
    2002-10-07
    討論區文章
    48
    最初由 流浪者~MIT 發表
    那我問ㄉ題目
    char ch;
    ch=0;
    ch='0';
    這兩ㄍ有一樣ㄇ??
    建議你 先把C 的基本資料類別意義搞清楚一點。

    不過答案是沒有一樣。

  5. #5
    會員 gwochern 的大頭照
    註冊日期
    2002-02-15
    討論區文章
    785
    最初由 流浪者~MIT 發表
    那我問ㄉ題目
    char ch;
    ch=0;
    ch='0';
    這兩ㄍ有一樣ㄇ??
    ''在c的語法是字元的意思
    ""在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);
    }



  6. #6
    會員
    註冊日期
    2002-07-25
    討論區文章
    468
    ------------------------
    if(kbhit())
    ch=getch();
    else
    ch=0;
    while(ch=='0')
    {
    xxxxx
    break;
    }
    ------------------------
    意思是說(假設程式是無限迴圈會回到最上面)
    當我按下鍵盤上面的0
    就會進入while迴圈
    接下來可是我沒有按下任何鍵所以ch=0
    可是ch=0不符合while條件判斷(ch=='0')
    所以不會進入while迴圈

    >>>我這樣解釋對ㄇ???

  7. #7
    會員 gwochern 的大頭照
    註冊日期
    2002-02-15
    討論區文章
    785
    最初由 流浪者~MIT 發表
    ------------------------
    if(kbhit())
    ch=getch();
    else
    ch=0;
    while(ch=='0')
    {
    xxxxx
    break;
    }
    ------------------------
    意思是說(假設程式是無限迴圈會回到最上面)
    當我按下鍵盤上面的0
    就?..
    if(kbhit())
    ch=getch();
    else
    ch=0;
    while(ch=='0')
    {
    xxxxx
    break;
    }
    這樣是沒錯,但我通常不會在令ch=0,因為就算沒else ch=0;也不會進入while
    廻圈,這是會使compile後程式碼加大,浪費時間,與儲存空間,但這是你的思想,我不會說什麼,只能建議
    最後給你建議,以後寫程式作業或其它,先自己寫好,在跟看同學如何寫,比較那一種寫的好,這會使你功力大增,你會發別人的想法是什麼,自己的想法是什麼
    因為我自己碰過,寫一個大程式,我自己RUN的時間要2小時,別人只10分鐘,
    所以學程式不單只是學語法,還要學如何寫是最好,最高級的程式...

  8. #8
    會員
    註冊日期
    2001-10-22
    討論區文章
    97
    ch=0? 請查一下ASCII表
    這應該會把ch的值定為表中0的值(a好像是65, 65以前好像都是符號)

  9. #9
    會員 wenyic 的大頭照
    註冊日期
    2001-07-22
    所在地區
    VDSL 10M/2M
    討論區文章
    233
    最初由 carage 發表
    ch=0? 請查一下ASCII表
    這應該會把ch的值定為表中0的值(a好像是65, 65以前好像都是符號)
    沒錯

    #include<iostream.h>
    void main()
    {
    char ch;
    ch=65;
    cout<<ch;
    }

    跑出來的結果會是a

類似的主題

  1. 【求助】關於C語言的編譯器
    作者:犽羽獠 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 6
    最後發表: 2003-12-29, 04:38 PM
  2. 組合語言中的JMP指令
    作者:流浪者~MIT 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 5
    最後發表: 2003-03-30, 04:48 PM
  3. c語言中的語法
    作者:流浪者~MIT 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 6
    最後發表: 2002-11-23, 04:00 PM
  4. c語言中的if敘述
    作者:流浪者~MIT 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 1
    最後發表: 2002-11-03, 01:02 PM
  5. 關於C語言的問題
    作者:hiro_ko 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 6
    最後發表: 2002-10-10, 10:45 PM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •