看板 C_and_CPP 關於我們 聯絡資訊
程式是想要輸入10個字元 不管輸入完一個字元後是按空白鍵或是enter到下一行 一但到達10個字元之後便要跳出並列印出... #include<stdlib.h> #include<stdio.h> #include<assert.h> #include<string.h> /* 防止內存操作越界。 */ #define max 10 int main(void) { int i=0; int count=0; char array[max]; printf("input 10 character\n"); for(int i=0;i<max;i++) { scanf(" %s",&array[i]); } system("pause"); printf("%s\n",array); system("pause"); return 0; } 現在碰到的問題是... 1.只有輸入完一個字元後,按enter才能停止輸入迴圈 若是輸入完一個字元後按空白鍵,可以一直輸入 無法在迴圈到達10的時候就停止 不知道要怎麼改呢??? 2.另外就是...如果使用scanf(" %c",&array[i]); 列印出來時最後會顯示一個">" 這是為什麼阿? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.9.4.125
VictorTom:C語言不會幫你做array邊界判斷, PG必須自己想辦法保證. 12/30 17:00
VictorTom:你的問題可能是沒有在char array的最後補上'\0'的字串 12/30 17:01
VictorTom:結束符號@_@" 12/30 17:01
VictorTom:scanf那邊用%s這樣跑迴圈輸入也有點詭異....@_@" 12/30 17:03
bill42362:PG 是完美的寶石!!! XDD 12/30 17:04
tw00088437:40 pg for pul , 80 pg for um 12/30 17:12
Ag2S:暗黑亂入= =a 12/30 17:41
VictorTom:我怎麼都看不懂, 什麼暗黑, 什麼SoJ的, 都不太懂ㄟXD 12/30 17:59
tw00088437:樓上沒玩暗黑怎知道soj XD 偷噓一下 12/30 21:02
sunneo:XD 12/30 21:34
VictorTom:我~~我天生神力啊.... XD 12/30 22:43
Yshuan:我猜要讀的是字元 正確寫法該是 scanf(" %c",&array[i]) 12/31 04:34
Yshuan:然後 假如你是手打從輸入 你一定會碰到個月經問題 12/31 04:34
Yshuan:17930 與 #1BB7xIhX 這兩篇 關於連續讀取字元可能碰到難題 12/31 04:35