好吧,伙计们,我坐在这里盯着屏幕,因为我的程序反复崩溃。我已经为第一个 for 循环尝试了几种不同的修复方法。问题是,我不想更改第一个 for 循环中的任何变量,我只是希望将其作为我的第一个测试循环。问题是,如果不在循环中附加变量(例如 x++ 或更改变量的东西),它就不会运行。我总是能很好地获取用户输入,输入一个数字,然后“砰”的一声。崩溃。
while (((x%2!=0)&&(y%2==0)) || ((x%2==0)&&(y%2!=0))) {
int numtest;
numtest=x%y;
while (numtest==1 && x<=i) {
a=(x*x)-(y*y);
b=2*x*y;
c=(x*x)+(y*y);
x++;
y++;
printf("%d, %d, %d\n", a, b, c);
}
}
我只是不清楚为什么它会崩溃,即使我拥有我需要的一切。有人看到修复了吗?
编辑:根据下面的建议进行编辑 编辑 2:发现崩溃是由于无限 while 循环造成的。更改为 if 语句停止崩溃。
最佳答案
将此替换为 (x=2, y=1;((x%2!=0)&&(y%2==0)) || ((x%2==0)&&( y%2!=0));i) {
与此
for (x=2, y=1;((x%2!=0)&&(y%2==0)) || ((x%2==0)&&(y%2!=0));) {
或者更好的是,按照mlwn的建议,使用while
循环
x = 2;
y = 1;
while (((x%2!=0)&&(y%2==0)) || ((x%2==0)&&(y%2!=0))) {
关于c - 由于未知原因,For 循环在输入时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26227436/