ページ 11

このプログラムがよくわかりません(初心者です)

Posted: 2013年5月05日(日) 11:09
by you-you
http://9cguide.appspot.com/04-01.html

↑のサイトでC言語勉強中なんですが数値を出すプログラムで↓のようなのがありました
#include <stdio.h>

int main(void)
{
printf("%d円\n",100);
return 0;
}
これで100円と表せるそうですがよくわからないとこがいくつかあります
・円 と 100 だから100円じゃなくて円100とならないんですか?
・100円と表すから¥nで改行しなくていいんじゃないんですか?

Re: このプログラムがよくわかりません(初心者です)

Posted: 2013年5月05日(日) 11:39
by box
you-you さんが書きました: ・円 と 100 だから100円じゃなくて円100とならないんですか?

コード:

	printf("%d円\n",100);
%d と 100 が対応しています。%d のところを 100 で置き換えます。
その結果、100円 と出力します。
もし、円100 と出力したいのであれば、

コード:

	printf("円%d\n",100);
こう書きます。
you-you さんが書きました: ・100円と表すから¥nで改行しなくていいんじゃないんですか?
改行するかどうかはお好みです。

Re: このプログラムがよくわかりません(初心者です)

Posted: 2013年5月05日(日) 11:47
by softya(ソフト屋)
2重投稿されていたのでひとつは消しておきました。投稿ボタンを連打しないでくださいね。

「 [2]数値を表示する 」だと思いますが、最初の
printf("%d",100);
の意味は理解されてますか?
printf("100");
と何が違うのでしょうか?
考えてみてください。

Re: このプログラムがよくわかりません(初心者です)

Posted: 2013年5月05日(日) 11:55
by naohiro19
一言で表せば[100]は数値扱いです。ダブルクオーテーションで囲んだ["100"]は文字列扱いになります。

Re: このプログラムがよくわかりません(初心者です)

Posted: 2013年5月05日(日) 11:55
by you-you
次からは連打しないようにします_(._.)_ 

printf("%d",100);
が後ろで指定した100を%dのとこに置き換えて100
printf("100");
の100は数値じゃなくて数字・・・ただの文字みたいな感じですよね

%dのとこに置き換えるということを忘れていました
もう一回%dのとこから見直していきたいと思います

ご回答ありがとうございました_(._.)_