通知
すべてクリア
Topic starter
2003年8月1日 12:53 PM
こんにちはC言語超初心者です。
入門書を片手にコードを入力してるのですが、どうも
疑問があります。
下記のPGでquitと入力してもPGが終了しないんです。
ちなみに★の行ではquitと入力した時は0(一致)を返します。
なんか気になって夜も眠れません。
ご存知の方いらっしゃいましたらよろしくお願いします。
#include <stdio.h>
#include <string.h>
int main(void)
{
int i;
char str[20],bigstr[80];
strcpy(bigstr,");
for( ; str != quit; )
{
printf(文字列を入力して下さい。:);
gets(str);
strcat(bigstr,str);
★ printf(%d , i = strcmp(str,quit));
}
return 0;
}
2003年8月1日 1:03 PM
strcmp(x,quit) と x!=quit では全く意味が異なります。
後者はまずほとんどの場合、プログラマが意図した動きをしません。
...っていうか、入門書は必ずこの違いを説明しているはずなんですが。
もう少し読み進むか、戻るかして、この違いを理解してください。
きわめて重要なところなので、掲示板の少ない行数で説明したくないです。
Web の説明でよければ
http://www.catnet.ne.jp/~kouno/c_faq/c8.html
とか。
Topic starter
2003年8月1日 2:24 PM
tetrapodさんありがとうございました。
どうもVBの癖が抜けなくって・・・
strという配列文字列をPGで指定した時は
str[0]のポインタになるんですよね。