六、数组(例4---字符串数组)

#include <stdio.h>
#include <string.h>
int main()
{
   int i=0,x;
   printf("请输入有待电脑记忆的字符串个数:");
   char c[3];memset(c,0,3);

   while(i<2&&(c[i]=getchar())!='\n'&&c[i]!=' ')i++;
   x=atoi(c);//将一个字符串转换成整型常数
   
   char str[x][260];memset(str,0,260*x);//这里定义了一个字符串数组
   for(i=0;i<x;i++)
   {
     printf("请输入第%d个字符串:\n",i+1);
     fgets(str[i],259,stdin);//fgets可指定最大可接受长度,也是即能接收空格,也能接收回车,
     //但是回车的同时输入也就结束<接收一行字符串>。它不会引起内存越界。可以用它取代gets。
     //<gets和fgets都会吸收最后的回车符,所以后边可以不用再清空缓冲区。scanf不能吸收最后的回车符>
   }

   for(i=0;i<x;i++)printf("我记得您第%d次打了:%s",i+1,str[i]);
   //注意这里用了二维数组中的第一维来表示一个字符串。调用一个字符串其实是在调用它的首地址。
}

你可能感兴趣的:(六、数组(例4---字符串数组))