c语言定义了一个二维字符数组怎么赋值,要求输入n表示n行,然后每行输入一个字符串(长度不一样)

c语言定义了一个二维字符数组怎么赋值,要求输入n表示n行,然后每行输入一个字符串(长度不一样) 二维数组定义成静态就行了,我想看一下怎么赋值

首先用gets()取得字符串,
然后用strcpy()函数进行赋值。我的编译器没有VLA的功能,所以我定义了4行,有这个功能的话把4改成n就可以
#include<stdio.h>
#include<string.h>
int main(void)
{
int i;
char string[4][100];
char str[100];
for(i=0;i<4;i++)
{
gets(str);
strcpy(string[i],str);
}
for(i=0;i<4;i++)
{
puts(string[i]);
}
return 0;
}追问

懂了,我要做几个多组数据输入的题不知道咋弄,这样一看差不多明白了,非常感谢

对了,每次输入一串字符串之后再敲火车就是给下一行字符串赋值了么

追答

你可以在gets前面加个提示语句,这么就知道了,我是图方便的

追问

嗯嗯,谢谢了

对了,你那复制字符串的时候直接打了一个string[i],可以正常运行么

不是应该写string+i么

追答

两者是等价的string[i]=string+i

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-25
赋值的话用二重循环