C言語 戻り値をもたない関数voidを使った課題

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

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: C言語 戻り値をもたない関数voidを使った課題

Re: C言語 戻り値をもたない関数voidを使った課題

#4

by みけCAT » 2年前

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。

課題は「大文字のアルファベットを入力」のはずなのに、数値の読み書きしかしていない、というのもおかしいですね。

Re: C言語 戻り値をもたない関数voidを使った課題

#3

by すし郎 » 2年前

ご指摘ありがとうございます。

Re: C言語 戻り値をもたない関数voidを使った課題

#2

by box » 2年前

以下はちょっとしたサンプルコードです。
質問者さんのコードのどこがおかしいかは
・scanfで読み込んだmを捨ててしまっている。
・Aに渡すのは回数の10ではなく、読み込んだ文字であるはず
・Aの中で、定義されていない変数mを使っている

コード:

#include <stdio.h>
#include <ctype.h>

void func(int c)
{
    int i;

    for (i = 0; i < 10; i++) {
        putchar(c);
    }
    puts("");
}

int main(void)
{
    int c;

    do {
        printf("Capital Letter: ");
        c = getchar(), getchar();   // 2回目のgetchar()は改行を読み飛ばすため
    } while (!isupper(c));
    func(c);
    return 0;
}

C言語 戻り値をもたない関数voidを使った課題

#1

by すし郎 » 2年前

「大文字のアルファベットを入力すると、その文字を10文字表示するプログラムを作成せよ。」
といった課題で、以下のプログラムを作ってみたのですが、上手くいかず躓いているのでお助けいただけるとありがたいです。

#include <stdio.h>
void A(int);
int main(void){

int m;

printf("Capital Letter: ");
scanf("%d",&m);

A(10);

return 0;
}
void A(int n){
int i;
for(i=1;i<=n;i++)printf("%d",m);
puts("");
}


以下のエラーコードが出ます。
21: error: `m' undeclared (first use in this function)
21: error: (Each undeclared identifier is reported only once
21: error: for each function it appears in.)

ページトップ