###正しい実行画面
int型変数numの値: 1
1 / 2 は: 0.000000
1 / 2 は: 0.500000
int型のバイト数は4バイト
int型の数値の最小値: -2147483648
int型の数値の最大値: 2147483647
unsigned int型の数値の最小値: 0
unsigned int型の数値の最大値: 4294967295
発生している問題・エラーメッセージ
エラー E2140 intの使い方.c 11: ここでは宣言はできない(関数 main )
エラー E2140 intの使い方.c 12: ここでは宣言はできない(関数 main )
となります。
該当のソースコード
C
1#include <stdio.h> 2#include <limits.h> 3 4int main(void) 5{ 6 int num = 1; 7 // int型の変換指数はd 8 printf("int型変数numの値: %d\n", num); 9 10 //int型での割り算 11 double div1 = num / 2; 12 double div2 = num / (double)2; //キャストとして割り算 13 printf("%d / 2は:%1f\n, num", div1); 14 printf("%d / 2は:%1f\n, num", div2); 15 16 //int型、unsigned int型のサイズおよび最小化、最大化 17 printf("int型のバイト数は%1dバイト\n", sizeof(num)); 18 printf("int型の数値の最小値: %d\n", INT_MIN); 19 printf("int型の数値の最大値; %d\n",INT_MAX); 20 printf("unsigned int型の数値の最小値: %d\n", 0); 21 printf("unsigned int型の数値の最大値; %u\n", UINT_MAX); 22 23 return 0; 24}
試したこと
```C
#include <stdio.h>
#include <limits.h>
int main(void)
{
int num = 1;
double div1 = num / 2;
double div2 = num / (double)2; //キャストとして割り算
// int型の変換指数はd
printf("int型変数numの値: %d\n", num);
//int型での割り算 printf("%d / 2は:%1f\n, num", div1); printf("%d / 2は:%1f\n, num", div2); //int型、unsigned int型のサイズおよび最小化、最大化 printf("int型のバイト数は%1dバイト\n", sizeof(num)); printf("int型の数値の最小値: %d\n", INT_MIN); printf("int型の数値の最大値; %d\n",INT_MAX); printf("unsigned int型の数値の最小値: %d\n", 0); printf("unsigned int型の数値の最大値; %u\n", UINT_MAX); return 0;
}
コードを少し書き換えましたが実行画面がサンプルと違いました ### 補足情報(FW/ツールのバージョンなど) https://www.sejuku.net/blog/25690 サンプルコードのサイトです
とりあえずソースコードはMarkDownでコードブロック化してご提示ください。
一言で説明するとコード部分を選択して<code>と書いてる奴を押しましょう。
「ここに言語を入力」って書いてる所に、ソースの言語名を書いてください。(CとかJavaとかPHPとか)
書き方が分からない場合は下記質問の回答を参考にどうぞ。
https://teratail.com/questions/238564
エラーの修正方法に大きな間違いは無いです。
実行画面がサンプルと違うのがなぜかという質問ですか?
もしそうなら、どう違うのかを説明してください。
げっ・・・参考サイト某Sエンジニアじゃん・・・。
欠片も信用性無いので今すぐ参考にするのをやめることを私は強く推しておきます
K_3578様
教えていただきありがとうございます。
itagagaki様
int型変数numの値: 1
0 / 2は:0.000000
, num0 / 2は:0.000000
, numint型のバイト数は4バイト
int型の数値の最小値: -2147483648
int型の数値の最大値; 2147483647
unsigned int型の数値の最小値: 0
unsigned int型の数値の最大値; 4294967295
と表示され、
2行目~3行目あたりがサンプルと違います。
>質問者さん
とりあえず上に書いたようにソースだけ修正してくれると助かります。
見づらいので。
E2140エラーですが、お使いのC言語の開発環境はRAD Studio とかBorland C/C++コンパイラの古いバージョンではないでしょうか。
古いC言語の規格では、変数の宣言はコードの冒頭で行う必要があります。C99以降ではサンプルコードでの宣言の仕方でだいじょうぶです。また、printfの書式制御文字列("%d"とか色々)については理解されていますか。ただ回答を書いても仕方ないと思ったので、ここで確認している次第です。
回答2件
あなたの回答
tips
プレビュー