dポイントプレゼントキャンペーン実施中!

最近、XcodeでC言語の勉強をはじめました
初心者用の参考書に載っている
int main()
{

printf("1+2=%d\n", 1+2);

return(0);
}

をコンパイルすると
printf("1+2=%d\n", 1+2);の部分の%にエラーがでます。
おそらく%の代わりにほかの文字を使うと思うのですが
ググったりこのサイトで調べても見つけることができません。

詳しい方、教えてもらえると助かります

A 回答 (4件)

>実際には



ちゃんと、コードからのコピーですか?
目視して入力していたりしませんか?

>printf("1+2=%d\n" 1+2);

printf("1+2=%d\n", 1+2);
じゃないですか?
    • good
    • 0
この回答へのお礼

","をいれわすれてました
じぶんの不注意でした、ありがとうございます

お礼日時:2012/05/18 21:34

#2です



回答への補足にあるコードをそのままコピー&ペーストでXcodeでビルドしたら「Expected")"」のエラーが出ました。
エラーの原因は#3様の回答にある通りです。

※チョットお小言です(読み飛ばして頂いて結構です)

最近勉強を始めた初心者だからって、甘え過ぎじゃないですか。
質問する場合に、エラーの起きたコードを提示しなければ、問題の解決にはならないです。
また、最初に仰ってたエラー「More"%"conversions than date arguments」も、そのまま検索すれば回答がすぐに見つかります。
C言語の勉強の前に、自力で検索したり調査することを勉強したほうが良いかもしれないですね。そうすれば恐らく、ここに質問を書いている時間で回答まで辿りつけたと思います。
    • good
    • 0
この回答へのお礼

すいません、甘え過ぎでした。

お礼日時:2012/05/18 21:36

> More"%"conversions than date arguments


エラーを調べたところ、printf関数への引数が多すぎるときに発生するようです。
具体的には、下記のようなコードを書くと発生するようです。

printf("%d %d ¥n", 10);


御質問を見る限り、問題なさそうでしたので、Xcodeで実際のコードを書いて調べてみました。
御質問文にあるコードでは、該当のエラーは出ませんでした。

質問文を書くときに、何か省略されてませんか?

この回答への補足

すいません、省略しました
実際には
#include <stdio.h>

int main()
{

// insert code here...
printf("Hello, World!\n");
printf("1+2=%d\n" 1+2);

return(0);
}
です


エラーはMore"%"conversions than date argumentsではなくExpected")"でした

補足日時:2012/05/17 23:31
    • good
    • 0

どんなエラーが出てるのかを書いていただくと回答しやすいと思います。



また、下記の文章はどういう意味でしょうか?
> おそらく%の代わりにほかの文字を使うと思うのですが
printf関数のフォーマット指定子として、%を使うのは仕様ですから、他の文字ってことはないと思います。

この回答への補足

アドバイスありがとうございます
More"%"conversions than date argumentsとエラーがでてきます



>printf関数のフォーマット指定子として、%を使うのは仕様ですから、他の文字ってことはないと思います。

"¥"をXcodeの場合は"\"にするみたいにちがう文字を使うものだと勝手に予測してました

補足日時:2012/05/16 23:45
    • good
    • 0

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