我可以问一下我的代码有什么问题吗?strcpy似乎只在函数内部工作。但是,当我将它传递给另一个函数时,第一个数组可以打印,但其他数组不能正确打印?
我的代码似乎有什么问题,正确的方法是什么?
以下是代码:
void copyString(char *data, int ctr){
int i;
char constData[10][50] = {{"Hello"}, {"Goodbye"}, {"Konichiwa"}, {"Sayonara"},
{"Ni Hao"}, {"Zai Jian"}, {"Annyeong Haseyo"},
{"Annyeonghi Gaseyo"}, {"Bonjour"}, {"Au Revoir"}};
char temp[50][100];
strcpy(temp[ctr], constData[ctr]);
if (ctr == 4)
for(i = 0; i <=ctr; i++)
printf("In function: %s\n", temp[i]);
strcpy(&data[ctr], temp[ctr]);
}
int main() {
int i = 0, ctr = 0;
char data[20][10];
for (ctr = 0; ctr <= 4; ctr++)
copyString(data[ctr], ctr);
printf("\n");
for(i = 0; i <= 4; i++)
printf("%s\n", data[i]);
return 0;
}输出给我的是:
功能:你好 功能:再见 职能: Konichiwa 功能:塞奥纳拉 功能:妮浩你好a 一个
但是输出应该是这样的:
功能:你好 功能:再见 职能: Konichiwa 功能:塞奥纳拉 职务:妮浩你好 再见 河池花 塞奥纳拉 倪浩
提前谢谢你!
发布于 2013-08-10 04:03:10
这是你的罪魁祸首:
strcpy(&data[ctr], temp[ctr]);这应该是:
strcpy(data, temp[ctr]);https://stackoverflow.com/questions/18158491
复制相似问题