想問一下大佬們,有沒有什么方法能在不知道輸入個數的情況下,將輸入儲存到陣列中?比如說:從鍵盤單行輸入2 3 5 1 12......(回車),輸入個數沒有給出,想要將這行資料以空格為分隔儲存到一個陣列里,該如何實作?我的想法是利用字符陣列,'\n'為結束,最后再將里面的字符強制轉換為整型,但是這種方法貌似很復雜,有沒有更為簡單的方法?
我還有種想想法就是利用
int i=0;
while(scanf("%d",a[i])!=EOF)
{
i++;
},但是好像停不下來,要用ctrl+z結束,有沒有用'\n'結束的?求大佬指點迷津。
uj5u.com熱心網友回復:
供參考:#include <stdio.h>
int main()
{
int a[100],i=0,j;
while ((scanf("%d",&a[i++])==1)&&((getchar())!='\n'));
//方法一:以回車作為結束符,最后回車前面不能有空格
//while (scanf("%d",&a[i])==1 && a[i]!=0){i++;}
//方法二:以0或其他數字作為結束符,結束輸入
for (j=0;j<i;j++)
printf("%d ",a[j]);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/272660.html
標籤:C語言
上一篇:球球大佬看一下哪里有問題
下一篇:C語言
