C語言------如何實現字串陣列和整形陣列在終端上任意輸
阿新 • • 發佈:2019-02-02
我是新手, 學習C語言過程中,練習程式設計時常會遇到輸入任意字串(不越界的情況下任意輸入),或者是輸入任意長度的整形陣列,下面就是我的一些關於任意字串和陣列輸入程式碼的整理.
1. 字串
方式一 :#define N 100
char str[N];
scanf("%s",str); //結尾系統新增'\0'
輸出:
printf("%s",str);
方式二 :
#define N 100
char str[100]
gets(str); //掃描到"\n"或EOF結束
這種方式涉及到gets( )函式的用法 , gets( )函式用法的物件是針對字串
具體用法從標準輸入中讀入字元直至遇到‘\n'或檔案結束符EOF,將'\n'或EOF之前的字元儲存在str中,並在str的末尾附加‘\0'
輸出 :
puts(str);
2. 整形陣列
方式一 :
#define N 100
int a[N];
int i,j; //迴圈變數
for(i = 0;i < N;i++)
{
if(scanf("%d",a[i]) <= 0) //利用了scanf( )函式的返回值
break;
}
程式碼中if(scanf("%d",a[ i ]) <= 0) break; 這個語句是考慮到scanf( )函式的返回值(int型), 如果scanf( )函式中掃描到合法輸入,返回一個int型的值,不滿足會返回一個小於0的值,初學scanf( )函式很容易忽略掉scanf( )函式是返回值這一點.
輸出:
for(j = 0;j < i;j++) { printf("%d",a[j]); }