2

誰かが次のコードフラグメントで私を助けてくれるかどうか疑問に思っています. 私が理解しようとしているのは、ある配列を別の配列に格納する方法です。考えられるすべてのことを試しましたが、すべてコンパイラからのエラーが発生しました。以下は、私のコードの一部であり、私の立場を十分に示しています。

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

4 に答える 4

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ます。

于 2013-04-15T04:44:25.227 に答える
2

max入力をmin配列にコピーする必要があると思います。したがって、コードは

char min[20], max[20], input[20] ;
printf("Enter word: ");
scanf("%s", input);
strcpy(min,input);
strcpy(max,input);
于 2013-04-15T04:48:16.760 に答える
1

memcpyあなたの友達です:

char min[20], max[20], input[20];
memset(min,'d',19);
min[19] = 0;
memcpy(min,max,20);
于 2013-04-15T04:45:01.543 に答える
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';
于 2013-04-15T04:45:17.180 に答える