ページ 11

putchar 関数について

Posted: 2011年6月10日(金) 23:38
by 駆け出し
初めまして。
最近プログラミングを始めたばかりの初心者です。

今日柴田さんのC言語の参考書で以下のようなプログラムを作ったところエラーが発生し、僕の力だけではどうにもならなくなりました。
どうか御助力いただければ幸いです。

プログラムの内容は、読み込んだ整数値の個数だけ*を表示させるというもの。

#include <stdio.h>

int main(void)
{
int no;
do{
printf("非負の整数を入力してください");
scanf("%d", &no);
if(no < 0)
puts("負の数を入力しないでください");
}while(no < 0);

while(no-- > 0)
putchar("*");
putchar("\n");

return 0;
}


エラー内容
1>c:\users\市立大オリジナルpc\documents\visual studio 2010\projects\4-11\4-11\4-11.cpp(14): error C2664: 'putchar' : 1 番目の引数を 'const char [2]' から 'int' に変換できません。(新しい機能 ; ヘルプを参照)
1> この変換が可能なコンテキストはありません。
1>c:\users\市立大オリジナルpc\documents\visual studio 2010\projects\4-11\4-11\4-11.cpp(15): error C2664: 'putchar' : 1 番目の引数を 'const char [2]' から 'int' に変換できません。(新しい機能 ; ヘルプを参照)
1> この変換が可能なコンテキストはありません。

回答よろしくお願いします。

Re: putchar 関数について

Posted: 2011年6月10日(金) 23:45
by 初級者
ダブルの代わりにシングルクォーテーションを
使うと、うまくいくかもしれません。

Re: putchar 関数について

Posted: 2011年6月10日(金) 23:46
by h2so5
putcharは1つの文字を出力するための関数です。

C言語で1文字を表すためにはシングルクオート ' ' を使わないといけません。
ダブルクオート " " で囲むと文字列になるため putchar の引数には使えません。

Re: putchar 関数について

Posted: 2011年6月10日(金) 23:55
by 駆け出し
シングルクォーテーション・・・無事コンパイルできました!!
皆さんこんな初歩的な質問に答えてくださりありがとうございました!!

Re: putchar 関数について

Posted: 2011年6月11日(土) 00:19
by box
h2so5 さんが書きました: C言語で1文字を表すためにはシングルクオート ' ' を使わないといけません。
ちょっと引っかかりがあります。
"*"
は、何文字を表わしていますか?また、
""
は、何文字を表わしていますか?