主题:求助,求大大们帮忙
a591163189
[专家分:20] 发布于 2012-06-15 20:11:00
main()
{
int a=0,b=0,c; \\为什么我在这里给b赋值为0,得出的结果就是 a=0,b=0,c=0
while (a<=19)
{ \\当我在这一行给b赋值为0,就可以得出正确结果
while (b<=33)
{
c=100-a-b;
if (5*a+3*b+c/3==100)
printf("a=%d,b=%d,c=%d,\n",a,b,c);
b++;
}
a++;
}
}
最后更新于:2012-06-15 20:14:00
回复列表 (共6个回复)
沙发
a591163189 [专家分:20] 发布于 2012-06-16 19:28:00
大大们帮帮偶吧
板凳
hcjsj [专家分:0] 发布于 2012-06-16 19:47:00
#include<stdlib.h>
#include<stdio.h>
int main()
{
int a=0,b=0,c; //为什么我在这里给b赋值为0,得出的结果就是 a=0,b=0,c=0
while (a<=19)
{ //当我在这一行给b赋值为0,就可以得出正确结果
while (b<=33)
{
c=100-a-b;
if((5*a+3*b+c/3)==100)
{
printf("a=%d,b=%d,c=%d,\n",a,b,c);
//b++; 应该放在外面吧?
}
b++;
}
a++;
}
getchar();
return 0;
}
3 楼
ZBC19921123 [专家分:320] 发布于 2012-06-16 21:38:00
main()
{
int a=0,b=0,c; //为什么我在这里给b赋值为0,得出的结果就是 a=0,b=0,c=0[color=FF0000](这是因为当执行第二个while(b<=33)
时b从0加到34,此时b=34不再改变且跳出循环,只进行a++,则只能得出a=0;b=25;c=75)[/color]
while (a<=19)
{
b=0;
//当我在这一行给b赋值为0,就可以得出正确结果([color=00FF00]在这里while(b<=33)当b=34时跳出循环,执行b=0;
继续执行while(b<=33),如此重复)[/color] while (b<=33)
{
c=100-a-b;
if (5*a+3*b+c/3==100)
printf("a=%d,b=%d,c=%d,\n",a,b,c);
b++;
}
a++;
}
}
4 楼
a591163189 [专家分:20] 发布于 2012-06-17 20:44:00
谢谢ZBC19921123啊,令我茅塞顿开
5 楼
ZBC19921123 [专家分:320] 发布于 2012-06-19 11:03:00
[color=FF0000]不客气,我也是初学,建议你遇到这种问题时去Debugger跟踪调试。[/color]
6 楼
shujujiegou01 [专家分:1070] 发布于 2012-06-19 16:19:00
<1>debug添加监视条件,当b==0
<2>写Log.txt,看log里面数据规律
<3>找相关变量赋值的地方
<4>了解变量的生存周期
我来回复