プロが教えるわが家の防犯対策術!

http://oshiete1.goo.ne.jp/kotaeru.php3?q=2352461
で、質問させて頂いた者です。

ご回答の通りに「strcmp」を使って、
if (strcmp(&dou[i].tiku , &dou[i-1].tiku)){
printf("-----------------------\n");
}
と、してみたところ
上手く動くようになりました。

ただ、
>警告 W8065 kadai3-2.c 32: プロトタイプ宣言のない関数 'strcmp' の呼び出し(関数 main )
という警告が出てしまいます。

対処方法をご存じでしたら、
ご教授して頂けたら幸いです。

A 回答 (2件)

構造体の、tikuはどのように宣言していますか?


struct sample {
 char tiku[50]
}
と宣言されているなら、strcmp()は
int strcmp(const char *string1, const char *string2)
と宣言されているので、
strcmp(dou[i].tiku , dou[i-1].tiku)
でいいと思います。

構造体の宣言次第で、strcmp()の引数のポインター指定は変わってくるので、&をつけたりつけなかったりと試行錯誤してみてください。

※C言語を使わなくなって久しいので、間違えているかもしれません(^^;
    • good
    • 1
この回答へのお礼

ご返事有り難うございました。

仰るとおり
ポイントの指定を取ったところ
警告はなくなりました。

ただ、その理由が今ひとつ分からないので
新しく質問をさせて頂きたいと思います。

有り難うございました。

お礼日時:2006/08/21 15:25

#include<string.h>


を追加してください。

この回答への補足

ご返事有り難うございました。

strcmp関数はstring.hの中にあるという
ことだったんですよね。

お陰様で
>警告 W8065 kadai3-2.c 32: プロトタイプ宣言のない関数 'strcmp' の呼び出し(関数 main )
という警告は取れました。

ただ、今度は同じところで
>警告 W8075 kadai3-2.c 33: 問題のあるポインタの変換(関数 main )
という警告が出てしまうのですが…

何度もご面倒をお掛けしますが
よろしくお願いします。

補足日時:2006/08/21 14:36
    • good
    • 1

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