如何调试产生意外变量值的C程序?
我希望a为5,使比较表达式的计算结果为真,从而打印: A=5,B=3,C=6如何调试产生意外变量值的C程序?,c,C,我希望a为5,使比较表达式的计算结果为真,从而打印: A=5,B=3,C=6 main() { int i,a,b=3,c=6,s; for(i=1;i<=1000;i++){ if(a*a+b*b==c*c){ printf("A = %d B = %d C = %d\n",a,b,c); } a = i; } } 初始化的文件在哪里?我看到我被设置好了,b和c也被设置好了,但我没有看到a
main()
{
int i,a,b=3,c=6,s;
for(i=1;i<=1000;i++){
if(a*a+b*b==c*c){
printf("A = %d B = %d C = %d\n",a,b,c);
}
a = i;
}
}
初始化的文件在哪里?我看到我被设置好了,b和c也被设置好了,但我没有看到a的任何任务
解决方案是在if语句之前将i的当前值分配给a:a=i。您将在事实之后分配值。或者,评估i,而不是a。您的问题是什么?看。这是一个关于如何不提问的规范示例。这段代码应该做什么?看起来它在试图识别一个噬菌体三元组。如果是这样,您将找不到具有这些值的整数。@dbush确切地说,根本没有整数解,更不用说5^2+3^2==6^2这只是terribru。请尝试构建您的答案是一种有用的方法。不要提问,回答..谢谢。我对这些地方不熟悉。在我加入之前,我可能应该阅读所有的要求。谢谢你的提示。当它显示a=i时,它似乎被初始化了@8质子,而不是当循环进入并第一次执行if时。@TGray,你可以潜伏在周围,看看人们如何回答,注意哪些人受到批评,哪些人喜欢: