scanfでdoubleを入力すると挙動があやしい
Opened this issue · 0 comments
tetsurom commented
以下を実行する
#include <stdio.h>
#include <math.h>
double readDouble(){
double num;
printf("number = ");
scanf("%lf", &num);
printf("%lf\n", num);
return num;
}
double distance(double x, double y){
return hypot(x, y);
}
int main() {
double x = readDouble();
double y = readDouble();
printf("|(%lf, %lf)| = %lf\n", x, y, distance(x, y));
return 0;
}
このとき、正しく入力しても入力ダイアログが出続ける。キャンセルすると初めに入れた数から順に使用される。