1. 程式人生 > >C語言------如何實現字串陣列和整形陣列在終端上任意輸

C語言------如何實現字串陣列和整形陣列在終端上任意輸

我是新手, 學習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]);
}