C++数组的 scanf/printf
我写了以下代码:
int main() {
double A[2];
printf("Enter coordinates of the point (x,y):\n");
scanf("%d,%d", &A[0], &A[1]);
printf("Coordinates of the point: %d, %d", A[0], A[1]);
return 0;
}
它的作用如下:
输入点的坐标 (x,y):
3,5
该点的坐标:3, 2673912
5 怎么可能转换成 2673912?
I've written following code:
int main() {
double A[2];
printf("Enter coordinates of the point (x,y):\n");
scanf("%d,%d", &A[0], &A[1]);
printf("Coordinates of the point: %d, %d", A[0], A[1]);
return 0;
}
It's acting like this:
Enter coordinates of the point (x,y):
3,5
Coordinates of the point: 3, 2673912
How is it possible, that 5 converts into 2673912??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在使用十进制整数格式 (%d) 读取双精度值。
尝试使用双精度格式 (%lf) 代替...
You are reading double values using the decimal integer format (%d).
Try using the double format (%lf) instead...