2つの整数の最大公約数を表示するソースコードを記述してみましたが、コンパイルはできてもaの値を入力したところで実行が強制終了してしまいます。どこが間違っているのか、ご指摘をお願い致します。
#include <stdio.h> int main(void){ printf("2つの整数値を入力\n"); int a,b; printf("a="); scanf("%d",&a); printf("b="); scanf("%d",&b); int r; while(r=<0){ r=a%b; printf("\n",r); } printf("aとbの最大公約数は%dです\n",r); return 0; }
https://docs.microsoft.com/ja-jp/cpp/c-runtime-library/reference/scanf-scanf-l-wscanf-wscanf-l?view=msvc-160
リファレンスを確認する癖をつけましょう。
「強制終了」とは、どう言うことを言っていますか?
int r;
while(r=<0)
rの初期化は?
OSとコンパイラは何をつかわれていますか?
と言いますかそもそもコンパイルできていません。
$ gcc -Wall 1.c
1.c: In function ‘main’:
1.c:11:13: error: expected expression before ‘<’ token
while(r=<0){
^
1.c:13:16: warning: too many arguments for format [-Wformat-extra-args]
printf("\n",r);
printf("\n",r); は、何をしたいのでしょう?
p.s.Any code doesn't run as you thought, run as it wrote. https://wirelesswire.jp/2015/06/32044/
回答1件
あなたの回答
tips
プレビュー