“什么是”呢&&引用;在;scanf(“f”和“variableName”)&引用;在C编程中?
我目前正在学习C编程语言,因为“&”而被卡住了,下面是示例代码“什么是”呢&&引用;在;scanf(“f”和“variableName”)&引用;在C编程中?,c,floating-point,int,scanf,C,Floating Point,Int,Scanf,我目前正在学习C编程语言,因为“&”而被卡住了,下面是示例代码 int main() { float degrees, radians; printf("Enter an angle in degrees: "); scanf("%f", °rees); radians = 0.0174532925 * degrees; printf("%.2f degrees is %.2f radians.\n", degrees, radia
int main()
{
float degrees, radians;
printf("Enter an angle in degrees: ");
scanf("%f", °rees);
radians = 0.0174532925 * degrees;
printf("%.2f degrees is %.2f radians.\n", degrees, radians);
return(0);
}
请看一下粗体和斜体代码。我想知道“&”有什么用。因为当我尝试运行没有“&”的代码时,它确实会运行,但当生成答案时,它会挂断
感谢您的及时答复。谢谢大家! 操作符
&
获取所传递参数的地址,并将指向该参数的指针传递到函数中,这意味着在函数中更改参数的值也将更改调用者函数中的值
scanf("%f", °rees);
这里scanf()
存储值,所以它需要一个地方来存储它们。
这是通过提供
存储值的位置。在您的情况下,它是度
变量,通过使用度
我们提供了地址
希望这会有所帮助。您可以将&看作scanf语句中变量的“地址”。本质上,scanf语句中的基元类型需要&;在printf语句中没有使用它 请注意,当您在scanf语句中使用数组时,不需要使用&因为数组名称将提供一个隐式的&符号(&)是C地址运算符;它返回给定变量的内存地址 scanf函数从控制台读取数据,对其进行解析,并将结果存储在所提供变量的内存地址中。理解“与”的关键在于,scanf函数族实际上改变了内存中作为参数提供的变量。因为我们使用的是内存中的直接变量,而不是副本,所以我们需要传递该变量的内存地址——因此是符号(&) 在示例代码中,
scanf(“%f”,°rees)
行可以被读取为“将浮点(“%f”)值读入度的内存地址”
通过添加以下代码行,可以查看作为参数传递给scanf的内存地址:printf(“度的内存地址:%p”,°rees)返回语句之前的代码>
有关更多详细信息,请查看以下内容:
C中的“与”表示该值存储在此(变量)中代码>我们不能简单地解释什么是&意味着…不要像使用函数一样使用return
,它是一个关键字。仅在返回复杂表达式时使用括号括起来,以使其非常可读。