ページ 11

if文の条件について

Posted: 2007年5月16日(水) 23:15
by まさき
if文の条件として、以下のようなものがありました。

if( isdigit(c) )

これはどのような意味なのでしょうか?
初歩的な質問だとは思いますが、答えていただけるとありがたいです。
元のプログラムも一応貼っておきます。

Re:if文の条件について

Posted: 2007年5月17日(木) 07:52
by 管理人
isdigit関数の使い方はOKですか?
関数の使い方ではなく、if文の意味だけに限定してお応えします。
#include <stdio.h> 

void main(void){ 
	if(-1)
		printf("-1\n");
	if(0)
		printf("0\n");
	if(1)
		printf("1\n");
	if(1000)
		printf("1000\n");
}

実行結果
-1
1
1000
 
 
if文の条件は「0」の時偽となり、「0以外」の時真となります。
つまり、ここに0以外の数値を書けばif文が実行されるわけです。
ではisdigit関数の仕様を調べてみましょう。

http://www.bohyoh.com/CandCPP/C/Library/isdigit.html

「返却値 判定が成立すれば0以外の値(真)を返し、成立しなければ0を返す。 」
とありますね。
つまり判定が成功すればif文を実行し、失敗すればif文を実行しない事になります。

Re:if文の条件について

Posted: 2007年5月17日(木) 10:45
by asd
> 初歩的な質問だとは思いますが、答えていただけるとありがたいです。

>・マルチポスト(複数の掲示板に同じ質問を書く事)は禁止です。
http://www3.realint.com/cgi-bin/tarticl ... intc2+7446
そもそも学校の課題なら先生や友人に聞いてみては?(とマルチポスト先では指摘されていますね)

Re:if文の条件について

Posted: 2007年5月19日(土) 02:31
by マサキ
丁寧なご返答ありがとうございました。

おかげさまで理解することができました。

あと、マルチポストが禁止なのは知りませんでした。ごめんなさい。

今度からは気をつけるようにします。