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

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

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

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

Q&A

解決済

2回答

3480閲覧

c言語のコンパイルエラーについて

退会済みユーザー

退会済みユーザー

総合スコア0

C

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

0グッド

0クリップ

投稿2019/04/20 17:59

編集2019/04/20 18:12

入力された番号が変数に代入された数値と一致しているか確認するプログラムを書いています。
コンパイル時にエラーが発生してしまいました。
どうすれば直るのでしょうか。

#include <stdio.h>
int pass = 1234 ;
int entpass ;
int main ( void ) {
printf ( "入力された番号が正しいか確認します。\n" ) ;
scanf ( "%d" , & entpass ) ;
while ( 1 )
if ( pass == entpass ) {
printf ( "入力された番号は正しいです。\n" ) ;
break ;
else
printf ( "入力された番号が間違っています。\n" ) ;
}
return 0 ;
}

コンパイルエラー

11:1: error: expected expression
else
^

breakを無くしたりしても同じでした。

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

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

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

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

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

guest

回答2

0

カッコが足りないです。

while ( 1 ) if ( pass == entpass ) { printf ( "入力された番号は正しいです。\n" ) ; break; else printf ( "入力された番号が間違っています。\n" ) ; }

while ( 1 ) { if ( pass == entpass ) { printf ( "入力された番号は正しいです。\n" ) ; break; } else { printf ( "入力された番号が間違っています。\n" ) ; } }

投稿2019/04/20 18:12

aikon_marimo

総合スコア1083

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

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

0

ベストアンサー

c

1#include <stdio.h> 2 3int pass = 1234; 4int entpass; 5 6int main(void) 7{ 8 printf("入力された番号が正しいか確認します。\n"); 9 scanf("%d", &entpass); 10 while (1) { 11 if (pass == entpass) { 12 printf("入力された番号は正しいです。\n"); 13 break; 14 } else { 15 printf("入力された番号が間違っています。\n"); 16 } 17 } 18 return 0; 19}

なぜ、passとentpassが外部に有るのでしょう?

text

1t3.c:3:5: warning: no previous extern declaration for non-static variable 'pass' 2 [-Wmissing-variable-declarations] 3int pass = 1234; 4 ^ 5t3.c:4:5: warning: no previous extern declaration for non-static variable 'entpass' 6 [-Wmissing-variable-declarations] 7int entpass; 8 ^ 92 warnings generated.

また、scanf("%d", &entpass);はループの中に無いとおかしいのでは?

c

1usr ~/Project/test % ./a.out 2入力された番号が正しいか確認します。 3123 4入力された番号が間違っています。 51234 6入力された番号は正しいです。 7usr ~/Project/test % cat t3.c 8#include <stdio.h> 9 10int main(void) 11{ 12 int pass = 1234; 13 int entpass; 14 printf("入力された番号が正しいか確認します。\n"); 15 while (1) { 16 scanf("%d", &entpass); 17 if (pass == entpass) { 18 printf("入力された番号は正しいです。\n"); 19 break; 20 } else { 21 printf("入力された番号が間違っています。\n"); 22 } 23 } 24 return 0; 25} 26usr ~/Project/test %

投稿2019/04/20 18:12

編集2019/04/20 18:28
cateye

総合スコア6851

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問