gpt4 book ai didi

c - 计算得到随机结果

转载 作者:太空宇宙 更新时间:2023-11-04 06:56:45 24 4
gpt4 key购买 nike

刚开始编码,但在尝试做数学时遇到了困难。代码应该在用户输入后执行加法,但在终端上运行代码时,我只会不断得到像 -952492524 这样的随机结果。如何正确解决这个问题?

这是代码:

#include <stdio.h>

main()
{
int iquantity, iprice;
int iresult = iquantity + iprice;

scanf("%d", &iquantity);
scanf("%d", &iprice);

printf("%d", &iresult);
}

最佳答案

您对 printf 的调用是打印变量的地址而不是它的值。 scanf 需要地址,因为它会改变变量的值;这是通过指针传递变量。printf只需要读取值,所以参数是按值传递而不是指针传递。

这是用 C 编写代码时需要学习的一个重要概念;与现代语言不同,C 不隐藏变量引用:必须拥抱指针并知道何时使用它,何时不使用它。

这是了解有关该主题的更多信息的绝佳链接。 What's the difference between passing by reference vs. passing by value?

像这样尝试:

#include <stdio.h>

int main(void)
{

int iquantity, iprice;

scanf("%d", &iquantity);

scanf("%d", &iprice);

int iresult = iquantity + iprice; /* after scanf, not before */

printf("%d", iresult); /* and don't need a reference here */
}

关于c - 计算得到随机结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43458882/

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