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