C语言------如何实现字符串数组和整形数组在终端上任意输

来源:互联网 发布:神话打电话软件 编辑:程序博客网 时间:2024/06/08 02:18

我是新手, 学习C语言过程中,练习编程时常会遇到输入任意字符串(不越界的情况下任意输入),或者是输入任意长度的整形数组,下面就是我的一些关于任意字符串和数组输入代码的整理.

1. 字符串

       方式一 : 
#define N 100char str[N];scanf("%s",str); //结尾系统添加'\0'

       输出:
printf("%s",str);


       方式二 :
#define N 100char str[100]gets(str); //扫描到"\n"或EOF结束
      这种方式涉及到gets( )函数的用法 , gets( )函数用法的对象是针对字符串 
      具体用法从标准输入中读入字符直至遇到‘\n'或文件结束符EOF,将'\n'或EOF之前的字符存储在str中,并在str的末尾附加‘\0'
   
      输出 :
puts(str);


2. 整形数组

       方式一 :
#define N 100int 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]);}




0 0
原创粉丝点击