gpt4 book ai didi

c - "&"与 printf() 和 scanf() 一起使用

转载 作者:太空宇宙 更新时间:2023-11-04 02:04:16 26 4
gpt4 key购买 nike

我有一个关于在变量前正确使用“&”的简单问题。

printf( "34 * 7 =  " );
scanf( "%d", &x );
printf( "The solution is 238 \n");
printf( "Your solution is %d \n\n", x );

我不明白为什么在读取用户输入时必须使用“&x”以及为什么在使用 printf() 函数时可以不用。我想了解它的背后是什么。

最佳答案

在 C、C++ 和 Go 中,前缀“&”是一元运算符,表示参数在内存中的地址,例如&x, &func, &a[3].

I don't understand why I must use "&x" when reading the user input

因为这就是语言制造者选择定义它的方式。 & 运算符即使没有 printfscanf 也能正常工作。

int *pointer_to_x = &x;

现在 scanf( "%d", pointer_to_x );scanf( "%d", &x ); 相同

关于c - "&"与 printf() 和 scanf() 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22627003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com