for文の誤りを言語化できません
コード中でfor文を使っています。
途中、何が誤りなのか言語化できず困っている箇所があります。
該当のソースコード
#include<stdio.h> float func(float x) { float y; y=x*x; return y; } int main(void){ int a; float b; b=func(a); for(a=1; a<100; a++){ printf("%f (x=%d)\n", b, a); } }
発生している問題・エラーメッセージ
190663631313043456.000000 (x=1) 190663631313043456.000000 (x=2) 190663631313043456.000000 (x=3) 190663631313043456.000000 (x=4) 190663631313043456.000000 (x=5) 190663631313043456.000000 (x=6) 190663631313043456.000000 (x=7) 190663631313043456.000000 (x=8) 190663631313043456.000000 (x=9) 190663631313043456.000000 (x=10) 190663631313043456.000000 (x=11) 190663631313043456.000000 (x=12) 190663631313043456.000000 (x=13) 190663631313043456.000000 (x=14) 190663631313043456.000000 (x=15) 190663631313043456.000000 (x=16) 190663631313043456.000000 (x=17) 190663631313043456.000000 (x=18) 190663631313043456.000000 (x=19) 190663631313043456.000000 (x=20) 190663631313043456.000000 (x=21) 190663631313043456.000000 (x=22) 190663631313043456.000000 (x=23) 190663631313043456.000000 (x=24) 190663631313043456.000000 (x=25) 190663631313043456.000000 (x=26) 190663631313043456.000000 (x=27) 190663631313043456.000000 (x=28) 190663631313043456.000000 (x=29) 190663631313043456.000000 (x=30) 190663631313043456.000000 (x=31) 190663631313043456.000000 (x=32)
もちろん、正しくは「for文の中にb=func(a);を入れるべき」なのですが、なぜfor文より先に宣言してしまってはいけないのかわかりません。
また、表示された結果が何を反映している量なのかがわかりません(y=x*xとしたのに、19066363131043456って数字はどこからきたのでしょうか)。
超素人質問で申し訳ございません。
どうぞよろしくお願いいたします。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/18 09:20
2019/08/18 12:27