円の面積、球の表面積、球の体積の計算結果を格納する配列vを宣言し、
変数pi、rにπ(3.14159)、半径(ここでは2.0)を代入し、キャスト演算子を使って計算、
最後に、インクリメント演算子を使って計算結果を表示させるプログラムを作成しました。
しかし、計算結果はうまく表示されるのですが、途中に赤線で
「関数呼び出しの引数が少なすぎます。」「;が必要です。」のエラーが出てしまいます。
以下が問題のコードです。
C
1#include <stdio.h> 2 3int main(void) 4{ 5 double v[3] = {0, 0, 0}; 6 double pi, r; 7 pi = 3.14159; 8 r = 2.0; 9 v[0] = r * r * pi; 10 v[1] = (double)4 * pi * r * r; 11 v[2] = (double)4 * pi * r * r * r / 3; 12 13 int n = 0; 14 printf("半径2.0の円の面積は%f", v[n]); 15 printf("、球の表面積は%f", v[++n]); //ここの;の後に赤波線で「関数呼び出しが少なすぎます。」 16 printf("、球の体積は%fです。\n",v[++n]); 17 return 0; //returnに赤波線で「;が必要です。」 18}
計算結果はエラーなしで正しく表示されるのですが、赤線のエラーが消えません。
どこを訂正すればいいのかわからず困っています。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/16 07:49 編集
2021/10/16 08:32
回答4件
0
とりあえず
v[++n]
と書く癖はやめた方がいい。
他の人間がソースコード見たら、いちいち考えないと意味わからんから。
普通に
printf("半径2.0の円の面積は%f", v[n]);
n++;
printf("、球の表面積は%f", v[n]);
n++;
printf("、球の体積は%fです。\n", v[n]);
と書くようにして下さい。
投稿2021/10/16 07:54
編集2021/10/16 07:58総合スコア599
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/16 08:34
2021/10/16 08:55
2021/10/16 20:40 編集
2021/10/16 09:15
2021/10/16 15:01
2021/10/16 15:50
2021/10/16 21:01 編集
2021/10/16 21:01 編集
2021/10/16 20:31
2021/10/16 20:32
2021/10/16 21:00 編集
2021/10/17 02:59
2021/10/17 03:35
2021/10/17 03:44
2021/10/17 03:45
2021/10/17 03:49
2021/10/17 03:51
2021/10/17 04:01
2021/10/17 04:03
2021/10/17 04:12
2021/10/17 04:29
2021/10/17 04:30
2021/10/17 04:45
2021/10/17 05:17
2021/10/17 05:28
2021/10/17 06:11
2021/10/17 06:13
2021/10/17 06:30
2021/10/17 08:01
2021/10/18 02:53 編集
退会済みユーザー
2021/10/19 08:03 編集
2021/10/19 08:26
2021/10/19 08:31
0
仕事でC/C++を書いている人で、その違いを即座に理解できる人に会ったことありません。
あまり胸張って言うようなことじゃないと思いますが。
この辺の違いって、初歩の初歩ですよ。
(時代的に重要視されなくなってるかもしれませんが。でもそれはそれで技術者としてどうかなぁ。Javaとか他の言語でも使われている演算子ですし。しかも同じ考えで)
投稿2021/10/16 16:21
総合スコア1567
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/16 16:23
2021/10/16 20:02
2021/10/16 20:06
2021/10/16 20:07
2021/10/16 22:10
2021/10/17 00:12
2021/10/17 00:50
2021/10/17 01:16
2021/10/17 02:15
2021/10/17 02:35
2021/10/17 03:01 編集
2021/10/17 03:02
2021/10/17 03:04
2021/10/17 03:06
2021/10/17 03:06
2021/10/17 03:18
2021/10/17 03:20
2021/10/17 03:23
2021/10/17 03:25
2021/10/17 03:30
2021/10/17 03:38
2021/10/17 03:53
2021/10/17 03:56
2021/10/17 03:58
2021/10/17 03:59
2021/10/17 04:00
2021/10/17 04:03
2021/10/17 04:04
2021/10/17 04:05
2021/10/17 04:08
2021/10/17 04:12
2021/10/18 02:16
2021/10/18 02:56
0
そのエラーはなにが出してるものでしょうか。
コンパイルエラーなのであれば、実行なぞできないはずですし、エラーが出てるけど実行できるってのは何か他のものが出してるエラーってことになりますが。
投稿2021/10/16 08:04
総合スコア88042
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/16 08:32
2021/10/16 08:35
2021/10/16 08:40
0
ベストアンサー
合ってると思うのですが。。。
#include <stdio.h>
int main(void)
{
double v[3] = {0, 0, 0};
double pi, r;
pi = 3.14159;
r = 2.0;
v[0] = r * r * pi;
v[1] = (double)4 * pi * r * r;
v[2] = (double)4 * pi * r * r * r / 3;
int n = 0; printf("半径2.0の円の面積は%f", v[n]); printf("、球の表面積は%f", v[++n]); printf("、球の体積は%fです。\n", v[++n]); return 0;
}
これで(tsurugiyaruさんのコマンド通りにVSCodeで打ち込んでみた)うまくいったのですが、違いはありますか?
探してみたのですが、私にはわかりませんでした。
開発環境の違いでしょうか。。。?
力になれず申し訳ありません。
投稿2021/10/16 07:54
編集2021/10/16 07:58総合スコア22
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/16 08:36
2021/10/16 08:51
2021/10/18 02:24
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。