c不能给出y和z的输入.我只能得到x作为输入.谁能告诉我我做错了什么吗

  • 本文关键字:错了 不能 c printf scanf
  • 更新时间 :
  • 英文 :


只能将x作为输入。y和z没有出现。已尝试更改数据类型。

这里有几个问题:

  1. 扫描的第二个参数应该指向变量的位置,即:

    scanf("%d",&x);
    

这将把扫描值放在x的位置。和现在一样,你把它放在*x,它是空的,如果有什么不同的话,它不会做你期望的事情。你应该让你所有的scanf语句看起来像

  1. 您正在使用scanf做一些您可能无意的事情。删除\n。任何不是空白字符(空白、换行符或制表符(或格式说明符(以%字符开头(的字符都会导致函数从流中读取下一个字符,将其与该非空白字符进行比较,如果匹配,则丢弃该字符,函数继续使用下一个格式字符。如果字符不匹配,函数将失败,返回流中的后续字符并保持未读状态
  • 您放入变量二重c的最终数学方程可能没有达到您预期的效果。在开始计算公式之前,您可能应该转换为double。如果编译器假设你在做整数运算,它可能会将你所有的分数运算四舍五入为0。你可以这样投:

    c = (((double)x + y)*z)/x - 2;
    
  • 警告说scanf需要一个int指针(存储输入的位置(,而不是int

    scanf参数x更改为&x

    相关内容

    • 没有找到相关文章

    最新更新