forループについて – プログラミング – Home

通知
すべてクリア

[解決済] forループについて


あかめ
 あかめ
(@あかめ)
ゲスト
結合: 22年前
投稿: 11
Topic starter  

こんにちは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;
}


引用未解決
トピックタグ
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 22年前
投稿: 830
 

strcmp(x,quit) と x!=quit では全く意味が異なります。
後者はまずほとんどの場合、プログラマが意図した動きをしません。
...っていうか、入門書は必ずこの違いを説明しているはずなんですが。
もう少し読み進むか、戻るかして、この違いを理解してください。
きわめて重要なところなので、掲示板の少ない行数で説明したくないです。
Web の説明でよければ
http://www.catnet.ne.jp/~kouno/c_faq/c8.html
とか。


返信引用
あかめ
 あかめ
(@あかめ)
ゲスト
結合: 22年前
投稿: 11
Topic starter  

tetrapodさんありがとうございました。

どうもVBの癖が抜けなくって・・・
strという配列文字列をPGで指定した時は
str[0]のポインタになるんですよね。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました