質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1458閲覧

エラーの解決法がしりたいです

nagatomi

総合スコア2

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

1クリップ

投稿2021/05/08 05:30

編集2021/05/09 13:31

###正しい実行画面
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 サンプルコードのサイトです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_3578

2021/05/08 05:35

とりあえずソースコードはMarkDownでコードブロック化してご提示ください。 一言で説明するとコード部分を選択して<code>と書いてる奴を押しましょう。 「ここに言語を入力」って書いてる所に、ソースの言語名を書いてください。(CとかJavaとかPHPとか) 書き方が分からない場合は下記質問の回答を参考にどうぞ。 https://teratail.com/questions/238564
itagagaki

2021/05/08 05:35

エラーの修正方法に大きな間違いは無いです。 実行画面がサンプルと違うのがなぜかという質問ですか? もしそうなら、どう違うのかを説明してください。
K_3578

2021/05/08 05:36

げっ・・・参考サイト某Sエンジニアじゃん・・・。 欠片も信用性無いので今すぐ参考にするのをやめることを私は強く推しておきます
nagatomi

2021/05/08 05:53

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行目あたりがサンプルと違います。
K_3578

2021/05/08 06:15

>質問者さん とりあえず上に書いたようにソースだけ修正してくれると助かります。 見づらいので。
dodox86

2021/05/08 06:38

E2140エラーですが、お使いのC言語の開発環境はRAD Studio とかBorland C/C++コンパイラの古いバージョンではないでしょうか。 古いC言語の規格では、変数の宣言はコードの冒頭で行う必要があります。C99以降ではサンプルコードでの宣言の仕方でだいじょうぶです。また、printfの書式制御文字列("%d"とか色々)については理解されていますか。ただ回答を書いても仕方ないと思ったので、ここで確認している次第です。
guest

回答2

0

ベストアンサー

C

1 //printf("%d / 2は:%1f\n, num", div1); 2 //printf("%d / 2は:%1f\n, num", div2); 3 printf("%d / 2は:%1f\n", num, div1); 4 printf("%d / 2は:%1f\n", num, div2);

という事では? (文字列の範囲)

投稿2021/05/08 08:02

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

double div1 = num / 2;

double div2 = num / (double)2; //キャストとして割り算

とりあえずエラーだけ。

C言語では、変数宣言は関数の先頭で行うようにする必要があります
また、初期値は定数である必要があります

投稿2021/05/08 05:40

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

episteme

2021/05/08 07:13

> 初期値は定数である必要があります ...ホント?
thkana

2021/05/08 07:53

> C言語では、変数宣言は関数の先頭で行うようにする必要があります 1999年版の規格でそれ以外でも宣言できるようになりましたけどね。
pepperleaf

2021/05/08 08:00

> 初期値は定数である必要があります 昔のC
episteme

2021/05/08 08:14

void f(int x) { int y = x; ... とか書けなかったっけ? > 昔のC
pepperleaf

2021/05/08 08:20

あ、書けた気がする。 ダメなのはグローバルだったか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問