C语言 打印[关闭]时,单位化局部变量显示奇怪值

wlzqhblo  于 2023-06-05  发布在  其他
关注(0)|答案(2)|浏览(174)

**关闭。**此题需要debugging details。目前不接受答复。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
4天前关闭。
Improve this question

为什么在输入直径之前,我的代码输出显示4200848?
我已经尝试重新启动VS代码和重新启动我的笔记本电脑了。在无数次检查我的代码并做了前面提到的事情之后,我以为我的程序会顺利运行,但实际上并非如此。

6qqygrtg

6qqygrtg1#

您没有初始化diameter,但尝试使用printf打印它。当你不初始化一个变量时,它里面的值是未定义的,也就是说,它可以是任何值,这取决于运行时内存中包含的内容。

int diameter; // undefined value: 4200848 in your case
printf("Enter the diameter of the circle %d", diameter) // prints diameter

相反,您应该首先获得直径,然后打印它。

int diameter = 0;
printf("Enter the diameter of the circle: ");
scanf("%d", &diameter);
printf("The diameter is %d", diameter);
nfzehxib

nfzehxib2#

使用用户的输入更新变量,然后尝试将其输出到控制台。如果你试图打印直径变量,然后再给它赋用户输入的值,你可能会得到一个未定义的疯狂数字。

#include <stdio.h>
#include <math.h>

int main() {
//declare the diameter variable
int diameter ;
//ask the user to enter a value
printf("%s","Enter the diameter of the circle");
//use scanf to capture input from the user 
scanf(&diameter);
//now you can print the content of the diameter entered 
printf("%s %d","The diameter entered is ", diameter);
//use the diameter for computing the area
}

相关问题