[過去ログ] スレを勃てるまでもないC/C++の質問はここで 21 (1001レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
959
(1): 2014/05/06(火)23:18 ID:i07kpOvT(1/4) AAS
質問させてください。
以下のプログラムをグローバル変数を使わず同じ処理をさせるにはどうすればいいのでしょうか?
グローバル変数を使うのはあまり良くないと聞いたのですが、どうにもそのやり方が思い浮かびません。
簡単にでもいいので、よろしくお願いします。

#include<stdio.h>

int life=1000;
int Atk(int damageSatan){ // (勇者のライフ−被ダメ) を処理する関数
printf("魔王の攻撃。勇者は%dのダメージを受けた\n",damageSatan);
return life - damageSatan;
}
int Recover(int kaifuku){ // (勇者のライフ+回復) を処理する関数
printf("勇者は薬草を使った。%d回復した。\n",kaifuku);
return life + kaifuku;
}
void gennzai(void){ //現在のライフを書き出すだけの関数
printf("現在のライフ%d\n",life);
}

int main(void){
gennzai();
life=Atk(400);
gennzai();
life=Recover(50);
gennzai();
life=Atk(200);
gennzai();

while(1){};
}
961: 2014/05/06(火)23:31 ID:i07kpOvT(2/4) AAS
>>960
その辺は初心者ということで目を瞑っていただきたいです。
コメントはつけていなかったのですが、他人が見る時に有ったほうがいいと聞いていたので
適当ではありますが急遽付け足しました。
命名規則もおいおい勉強していきたいと思います。
963
(1): 2014/05/06(火)23:43 ID:i07kpOvT(3/4) AAS
>>962
おお!わざわざこんなサイトまで使って直していただいてありがとうございます。
コピペしてビルドしてみたら全く同じ結果になりました。

各関数の引数にそれぞれlifeを入れたら良かったんですね!
書いていただいたソースをよく見て勉強してきます
どうもありがとうございました!
965: 2014/05/06(火)23:51 ID:i07kpOvT(4/4) AAS
>>964
今のところはスマートさとか考えている余裕はありませんが、スマートな方が当然良いですよね
頑張ります
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s