c語言遇到的問題

2021-09-20 07:00:09 字數 1097 閱讀 7972

getchar() 是處理螢幕上輸入的字元或整數(每次只讀取乙個),如果輸出用 %c 則輸出其原始資料,若用 %d 輸出對應的ascii碼。

char a[50];

t = 0;

a[t] = getchar();

printf ("%c",a[t]);

//上面是將單個字元賦值給 a

接下來舉個整數的例子

int a[50];

t = 0;

a[t] = getchar();

printf ("%d", a[t]);

輸入:7 輸出:55

如果你用 getchar() 後想輸出原始資料就需要減去'0',一般是針對於其ascii碼大於 48 的進行處理,也就是說一般是對於十進位制數進行處理,舉個例子吧

3』 - 『0』 對應的ascll碼就是 51-48 ,結果是3

k = a[1] - '0';

printf ("%d",k);

:gets()函式是從標準輸入中讀取一行到緩衝區中,直到eof或者換行,但是並不檢查溢位情況。

c語言中對於輸入整數而言,輸入的整數之間是沒有間隔的就直接儲存在了對應的記憶體區,若輸入的是1 2 3scanf就會依次讀取1 2 3,最後輸出的會是3, 但是如此方式也會有它自己的用處。

使用while迴圈從標準輸入或某個檔案中依次讀入乙個字元到緩衝區中,直到行尾或檔案結尾,或者遇到其他相關終止符

以上都可以配上迴圈使用,但是需要檢查溢位

c語言遇到的問題

我用二級指標做的這道題,不知道為什麼輸出為第一張圖的形式 但如果我把c getchar 改為scanf c c 則會輸出第二張圖所示的結果 include void main e dt z 0 t z 1e tdt 你可以找到更多關於的資訊latex數學表示式here.可以使用uml圖表進行渲染。m...

使用C語言遇到的幾個小問題

1.計算字元陣列的長度時 sizeof 會把 0 也算進去 strlen 不會 2.修改字串的值 char c aabc printf c n c 0 c 0 1 錯誤 無法直接修改值 儲存在字串常量區 charc 4 aabc printf c n c 0 c 0 1 只有做成字元陣列才可以乙個個...

C語言遇到的陣列溢位問題

今天寫了個判斷陣列中資料的最大值問題的 發現了乙個有趣的情況,陣列溢位值總是乙個 現附上今天寫的判斷陣列最大值的 define crt secure no warnings 1 include includeint main int max num 0 int i 0 for i 0 i sizeo...