章丘金贵夫人晾衣架:又是 TurboC 的问题,高手救命啊!!

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 18:26:52
TC 里面怎么给一个二维字符串数组赋值,类似以下这种写法是错的:

chr a[2][30];
a[0]="abcdefg";

而用以下的语句:
chr a[2][30]={"abcd"};

就没有问题,但是我不想使用定义初始化的方式,因为,就算定义数组的时候给了一个初始化的值,以后可能还是需要改变的,所以,请高手指点一下。当然,要是逐个元素的赋值的话也是可以成功的,不过这也太麻烦了,有没有一次就能赋一个串的方法呢??

chr a[2][30]={"abcd"}; 这是赋初值的语法,而那种根本就不行,编译会通不过。

char a[20]="aa";成功
char b[20]; b="aa";失败。

这是因为a[20]需要是一个常量字符串,如果不想这样用函数实现strcpy(b,"aa");这样就行了,对于多维的也一样。

你可以在定义了a[i][j]以后用一个(*p)[j]的指针指向a[i][j](i,j均为常量).它的意思是指针p含j个元素,再用strcpy来对指针赋值.然后用p++,指针就指向下一行了.