好的伙计们,所以当我的程序反复崩溃时,我正坐在这里盯着我的屏幕。我已经为第一个for循环尝试了几个不同的修复程序。问题是,我不想在第一个for循环中更改任何变量,我只想将其作为我的第一个测试循环。问题是,如果没有在循环中附加变量(例如x ++或更改变量的东西),它就不会运行。我总是得到用户输入就好了,输入一个数字,然后bam。崩溃。
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:发现崩溃是由于无限循环。更改为if语句会停止崩溃。
答案 0 :(得分:0)
将此for (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))) {