C语言字符型二维数组用scanf和gets如何输入,举个例谢谢

如题所述

第1个回答  2012-04-22
#include <stdio.h>
int main()
{
char s[3][20];
int i;
printf("输入第一行:");
gets(s[0]);
printf("输入第二行:");
scanf("%s",s[1]);

for(i=0;i<2;i++)
{
printf("%s\n",s[i]);
}
return 0;
}追问

如果用行指针呢

追答

//s[i]就是行地址,如果要用一个指针的话,那就定义一个char(*)[20]指向s就行了

#include
int main()
{
char s[3][20];
int i;
char (*p)[20]=s;
printf("输入第一行:");
gets(*p);
printf("输入第二行:");
scanf("%s",*(p+1));

for(i=0;i<2;i++)
{
printf("%s\n",*(p+i));
}
return 0;
}

本回答被提问者采纳
相似回答