首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数中的strcpy二维阵列问题

函数中的strcpy二维阵列问题
EN

Stack Overflow用户
提问于 2013-08-10 03:56:39
回答 1查看 5.9K关注 0票数 0

我可以问一下我的代码有什么问题吗?strcpy似乎只在函数内部工作。但是,当我将它传递给另一个函数时,第一个数组可以打印,但其他数组不能正确打印?

我的代码似乎有什么问题,正确的方法是什么?

以下是代码:

代码语言:javascript
复制
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 功能:塞奥纳拉 职务:妮浩你好 再见 河池花 塞奥纳拉 倪浩

提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-10 04:03:10

这是你的罪魁祸首:

代码语言:javascript
复制
strcpy(&data[ctr], temp[ctr]);

这应该是:

代码语言:javascript
复制
strcpy(data, temp[ctr]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18158491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档