将char数组存储到另一个数组中 - c

时间:2013-04-15 04:41:59

标签: c

我想知道是否有人可以帮我解决以下代码片段。我想弄清楚的是如何将一个数组存储在另一个数组中。我已经尝试了我能想到的一切,但都导致了编译器的错误。以下是我的代码中的一个片段,应该足以告诉我我的立场:

char min[20], max[20], input[20] ;
printf("Enter word: ");
scanf("%s", &input);
min = input; max = input;

4 个答案:

答案 0 :(得分:3)

char min[20], max[20], input[20] ;
printf("Enter word: ");
scanf("%s", input);
strcpy(min, input);
strcpy(max, input);

这是你如何做到的。请注意,我还删除了&中的scanf

scanf不是一个很好用的功能 - http://c-faq.com/stdio/scanfprobs.html

#include <string.h>获取strcpy的声明。

答案 1 :(得分:2)

我认为您必须将输入复制到maxmin数组中。所以代码应该是

char min[20], max[20], input[20] ;
printf("Enter word: ");
scanf("%s", input);
strcpy(min,input);
strcpy(max,input);

答案 2 :(得分:1)

memcpy是你的朋友:

char min[20], max[20], input[20];
memset(min,'d',19);
min[19] = 0;
memcpy(min,max,20);

答案 3 :(得分:0)

您应该尝试复制字符串。

strncpy(input, min, sizeof(min)-1);
strncpy(input, max, sizeof(max)-1);
//to be careful
min[sizeof(min)-1] = '\0';
max[sizeof(max)-1] = '\0';