putchar 関数について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
駆け出し

putchar 関数について

#1

投稿記事 by 駆け出し » 14年前

初めまして。
最近プログラミングを始めたばかりの初心者です。

今日柴田さんの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> この変換が可能なコンテキストはありません。

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

初級者
記事: 200
登録日時: 14年前

Re: putchar 関数について

#2

投稿記事 by 初級者 » 14年前

ダブルの代わりにシングルクォーテーションを
使うと、うまくいくかもしれません。

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: putchar 関数について

#3

投稿記事 by h2so5 » 14年前

putcharは1つの文字を出力するための関数です。

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

駆け出し

Re: putchar 関数について

#4

投稿記事 by 駆け出し » 14年前

シングルクォーテーション・・・無事コンパイルできました!!
皆さんこんな初歩的な質問に答えてくださりありがとうございました!!

box
記事: 2002
登録日時: 14年前

Re: putchar 関数について

#5

投稿記事 by box » 14年前

h2so5 さんが書きました: C言語で1文字を表すためにはシングルクオート ' ' を使わないといけません。
ちょっと引っかかりがあります。
"*"
は、何文字を表わしていますか?また、
""
は、何文字を表わしていますか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

閉鎖

“C言語何でも質問掲示板” へ戻る