c語言怎樣才能輸出中文最簡單的方法)

2021-04-20 05:37:07 字數 1477 閱讀 8965

1樓:高金山

雖然我沒看見你的bai

程式,du我覺得問題出在:你的zhi指標變數(*p)指dao向的空間是否足

內夠大?

請看我下面的容程式:

#include

int main()

return 0;

} 只要你輸入的不超過50個漢字(每個漢字佔2個位元組),都能完好輸出的

注意:輸入0結束

補充回答:

你的錯誤就在gets和puts的語句啊,應該這樣修改:

gets(&(p+i)->name); //////////////去掉後面的[21]

puts(&(p+i)->name); //////////////去掉後面的[21]

你不清楚它們之間的區別嗎?把檔案簡化一下:

char name[21];

gets(name);/////////不能用gets(name[21])

puts(name);/////////不能用puts(name[21])

name表示字元陣列的首地址,也可以看成字串

而name[21]什麼都不是,是一種完全錯誤的寫法

2樓:星月小木木

c語言中,漢字是用字串來儲存的,因為,漢字是多位元組組成(gbk字符集專一個漢字佔兩個屬位元組,utf8字符集,一個漢字佔三個位元組),所以,標準c中,只能用字串來儲存漢字資料。

可以採用字串輸入函式來輸入中文。

判斷中文是不是指定資料,可以用strcmp()函式來進行比較中文輸出,可用printf("%s")來輸出相應的資料。

參考**:

#include

#include

void main()

else

}執行結果:

請輸入中文: 你好

我很好請輸入中文: 中國

你輸入的是:中國

3樓:匿名使用者

c語言中的字串有個很重要的標記就是結束標記 '\0'

在你輸入結束之後應該用過程式把字串最後加上 \0, 這樣才不會多輸出其他的字元

如果你用scanf("%s",p); 這樣得到的字串應該沒有問題

4樓:匿名使用者

最簡單的:

#include

void main()

怎麼會不行呢?是不是語法錯誤?通過編譯了嗎?

5樓:匿名使用者

你用的是什麼版本?

要用高一些的版本才行!

6樓:褲內雙核

可能和編譯器的版本有關啊,我的vc6++就行,還可以儲存中文名字的c檔案。用支援漢字的編譯器試試

7樓:匿名使用者

其實很簡單,你是用win-tc就可以了,在裡面加一句**:

system("graftabl 936");

記住要緊隨定義變數之後,不信試試

怎樣才能學好C語言

其實c語言很簡單,它只是一種交流的規則,一種表達的工具,一種承載思想的容器而已,之所以感覺難,我覺得是還不習慣使用計算機特點來考慮問題。這就好比中國人從到英國定居一樣,雖然你學過英語,但是那只是想象中的英國,和現實的英國的情況還相差很遠,所以要有一個適應的過程,也就是常說的過渡期或磨合期。想盡快上手...

怎樣才能學好C語言,如何學習C語言

c語言就我個人來說,我感覺入門不是很難。但是它是一門低階語言,所以從某種程度上來說它與硬體有一定的聯絡,那麼想學好c語言就必須從最基礎的層次上考慮問題。首先就要克服變數先定以後使用的規定。其實,從硬體上理解很能說過去,我們先定義了變數型別,計算機才能根據我們的定義分配記憶體大小,這樣就好理解了。而其...

怎樣才能看見最真實的自己,怎樣才能找到最真實的自己

每一個人的人生都有著或多或少的相同與不相同。而我們的人生是在展示自己,還是在演繹一場可執行的人生呢?是人生如戲還是人生就是一場歲月如歌的演繹呢?我們是在真實的實現中,還是在天天沉睡在夢 呢?內心 因為內心是最真實的自己,在尋找答案的時候,不防問問自己的內心的所思所想,你就明白其實迷茫是一件很糊塗的時...