C语言,下面这个输出来,为什么是负的

[复制链接]
查看11 | 回复2 | 2011-5-14 09:21:33 | 显示全部楼层 |阅读模式
#include\"stdafx.h\"

intmain(intargc,char*argv[])
{
        intS,s,N,n;
        floatQ,Q1,Q2,Q3;
        scanf(\"%d%d%d%d\",
        Q=Q1Q2Q3;
        Q1=(0.10*(N1))/10;
        Q2=(0.43*(S/500s/78N*5n*1))/90;
        Q3=(0.47*(N200*s))/2000;
        printf(\"Q=%f\",Q);
        return0;
}
回复

使用道具 举报

千问 | 2011-5-14 09:21:33 | 显示全部楼层
局部变量,没有显式初始化默认值是随机的

Q1,Q2,Q3没有初始化时相加的值在你的机器上运行恰好是负数

再说你这个代码序顺也跟你想的不一样,中间三个等式没任何作用,聪明的编译器甚至可以把它忽略掉。









<h4class=\"ask\">追问


好吧,那怎么能让程序循环嘞?就是输完一组数据,得到一组顺序,然后可以继续输数据~~~
回复

使用道具 举报

千问 | 2011-5-14 09:21:33 | 显示全部楼层
intS,s,N,n;
        floatQ,Q1,Q2,Q3;
while(1)
{
//把你上面实现计算及输出的代码放在这里
//...dosthing..
}

        return0;

至于怎么退出来,哪是高级部分,哈哈。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行