當不知道有多少個整數輸入時,例如輸入
58 12 64 84 20 19 20
用空格區分,最后使用回車表示結束
如何將這些整數找出來并給數組中賦值呢?
在網上有很多種方法,這里主要講一下我使用的方法
首先用一個大一點的字符型數組模擬字符串
char str[10000];
然后用 gets 讀取字符串
- 使用 gets 讀取字符串要保證 buffer 的空間足夠大,以免溢出
再使用 char * strtok(char *s, const char *delim); 函數將字符串分割
s 代表要傳入字符串, delim 代表用來分割的依據。接下來若往后調用傳入 NULL。
示例代碼
gets(str);
int arr[105];
int k = 0;
char *p;
p = strtok(str, " ");
arr[k++] = atoi(p);
while(p)
{
p = strtok(NULL, " ");
if(p)
{
arr[k++] = atoi(p);
}
}
使用 atoi() 將字符串轉化成 int
完美收工