グローバル変数を利用したプログラム
100まで数を入力させていって100に到達したら終了するプログラム
該当のソースコード
#include <stdio.h> int a; void add(int); int show(void); int main(void) { int x; while(show()<100) { printf("sum:%d\n",show()); scanf("%d",&x); add(x); } return 0; } int add(int a){ int sum = 0; sum = sum + a; return sum; }
試したこと
int add(int a)のとこでエラーが出て実行できません
何というエラーが出るのですか?
何が悪いのかはエラーメッセージが教えてくれているはずです。
その意味が分からないのなら、それを質問してください。
error: conflicting types for 'add 'int add(int a){
と出ました
グローバル変数を利用したプログラムとのことですが、グローバル変数を使用していません。
どの部分をグローバル変数にしたいのでしょうか?
int aの部分です
使用されていないのでそのaをどう使用したいのか説明がないと回答者にはわかりません。
入力された数値の合計を格納して、show()でその値を返したいのだろうと想像はできますが…
a を格納してshow()で返したいのですが、どう使ってよいのかわからない状況です…
aを格納とは?入力された数値の合計ではなく?
aではなく入力された数値の格納です すいません
入力された数値をaに格納し、show()で返すのだとすると
>100まで数を入力させていって100に到達したら終了するプログラム
にはなりませんが…
while(show()<100)やprintf("sum:%d\n",show());があるので入力された数値の合計値を格納したいのではないのですか?
そうです
削除
あってます
あっているというのは入れ違いになって削除した
1.グローバル変数のaには入力値を格納
2.add()は(前の質問より)sumをstatic intにし、グローバル変数のaをsumに加算
3.show()はadd()内のsumの値を返したい
ですか?
3は変数のスコープが異なるのでできません。
add()でsumの値を返したいとのことなので、main()内でそれを保持しておいてください。
できました。ありがとうございます。
勉強になります。
前回質問したグローバル変数のaに入力値を格納して加算の方もありがとうございました。
回答1件
あなたの回答
tips
プレビュー