c语言为什么输出一直为0?

#include <stdio.h>
#include <stdlib.h>

int main()
{
int a,i,b,d=0,m[12],t=0,c=0;
for(i=0;i<12;i++)
{
scanf("%d",&a);
if(a<300)
b = 300-a;
else
b = 0;
d += b;
if(a>300 && (a-300) > d)
m[i] = -(i+1);
else
m[i] = 0;
if(d>=100)
{
c += (d-d%100);
d = d%100;
}
}
for(i=0;i<12;i++)
{
if(m[i]<0);
t += 1;
printf("%d",m[i]);
break;
}
if(t=0)
printf("%d",1.2*c+d);
return 0;
}

输入290
230
280
200
300
170
330
50
90
80
200
60
的时候输出一直为0 debug窗口中的数值明明不为0,求解?

第1个回答  2018-01-27
把break去掉,试一试。追问

t=0时下面一个printf输出的一直是0,和break应该没有关系的吧

第2个回答  2018-01-27
我不知道你这个程序功能是什么
目前发现你第二个for循环里的if语句括号后面加了; 这个条件语句就不起作用了
还有不知道你为什么要用break语句 如果你是想发生这个情况就跳出循环的话,应该把if后的语句用花括号括起来。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网