電子書籍の厳選無料作品が豊富!

include <stdio.h>
struct test{
char str[80];
};
void main(void)
{
struct test array[10]
・・・
とあるのですが、arrayに文字列を代入する方法は、
struct test array[10] = {{"kei"},{"fsa"},{"tu"},
{"vu"},{"qu"},{"bi"},{"bu"},{"wo"},{"qiu"}};

と言うような方法しかないのでしょうか?
ひとつひとつ代入はできないのでしょうか?
よろしくお願いします。

A 回答 (3件)

struct test array[10] = {{"kei"},{"fsa"},{"tu"},


{"vu"},{"qu"},{"bi"},{"bu"},{"wo"},{"qiu"}};

↑これは初期化。代入ではありません。

この問題は要するに、char[80]への代入が出来るかどうかということですね。
Cにおいては文字列という概念がないので、1の方の回答どおり、標準関数使いましょう
    • good
    • 0
この回答へのお礼

参考になりました!ありがとうございました!

お礼日時:2006/01/24 01:11

#include <stdio.h>


#include <string.h>
struct test
{
char str[80];
};
int
main(void)
{
struct test array[10];
int i;

strcpy(array[0].str, "kei");
strcpy(array[1].str, "fsa");
strcpy(array[2].str, "tu");
strcpy(array[3].str, "vu");
strcpy(array[4].str, "qu");
strcpy(array[5].str, "bi");
strcpy(array[6].str, "bu");
strcpy(array[7].str, "wo");
strcpy(array[8].str, "qiu");
for (i = 0; i < 9; i++) {
printf("array[%d].str = %s\n", i, array[i].str);
}
return 0;
}
    • good
    • 0
この回答へのお礼

参考になりました!ありがとうございました!

お礼日時:2006/01/24 01:11

文字列として扱うのなら、strcpy( )などの文字列コピー関数を使うのが一般的だと思います。



strcpy(array[0].str, "kei");
strcpy(array[1].str, "fsa");
・・・
    • good
    • 0
この回答へのお礼

参考になりました!ありがとうございました!

お礼日時:2006/01/24 01:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!