我是新手, 学习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]);
}
本文介绍C语言中输入任意长度字符串及整数数组的方法。详细解释了使用`scanf()`和`gets()`函数输入字符串的不同之处,并提供了利用`scanf()`函数特性进行有效数组输入的示例。
4172

被折叠的 条评论
为什么被折叠?



