C语言为什么出不来结果?

发布网友

我来回答

3个回答

热心网友

如你所写的代码while以i>100作为退出条件,但是在while循环内中红色框内代码改变了i的值,导致i一直等于1/-1,退不出循环,已经死循环了。

应该把此代码删除,再定义一个

int flag = 1;

while(i <= 100)

{

s = s + flag/i;

flag = -flag;

i++;

}

还有printf里的换行是\n不是 /n。

热心网友

如你所写的代码while以i>100作为退出条件,但是在while循环内中红色框内代码改变了i的值,导致i一直等于1/-1,退不出循环,已经死循环了。

应该把此代码删除,再定义一个

int flag = 1;

while(i <= 100)

{

s = s + flag/i;

flag = -flag;

i++;

}

还有printf里的换行是\n不是 /n。

热心网友

不出来,结果是程序进入了死循环。首先是你的循环语句while(i<=100);本身就是死循环。因为i的初始值是1,但是循环体有了一个分号,就是空语句,什么都没有做,所以它永远是1。另外下面也有问题,楼上两位已经说了。

热心网友

不出来,结果是程序进入了死循环。首先是你的循环语句while(i<=100);本身就是死循环。因为i的初始值是1,但是循环体有了一个分号,就是空语句,什么都没有做,所以它永远是1。另外下面也有问题,楼上两位已经说了。

热心网友

你这个循环里面用了i++,但是在执行这个i++前,执行了i=pow(-1,i+1);这条语句导致i的值要么是+1,要么是-1,再执行i++后i的值要么是0要么是1,所以永远都满足循环的条件小于等于100,就一直外循环里面了。看你的代码,应该再定义一个变量替换i++前面两句中的i。

热心网友

如你所写的代码while以i>100作为退出条件,但是在while循环内中红色框内代码改变了i的值,导致i一直等于1/-1,退不出循环,已经死循环了。

应该把此代码删除,再定义一个

int flag = 1;

while(i <= 100)

{

s = s + flag/i;

flag = -flag;

i++;

}

还有printf里的换行是\n不是 /n。

热心网友

不出来,结果是程序进入了死循环。首先是你的循环语句while(i<=100);本身就是死循环。因为i的初始值是1,但是循环体有了一个分号,就是空语句,什么都没有做,所以它永远是1。另外下面也有问题,楼上两位已经说了。

热心网友

你这个循环里面用了i++,但是在执行这个i++前,执行了i=pow(-1,i+1);这条语句导致i的值要么是+1,要么是-1,再执行i++后i的值要么是0要么是1,所以永远都满足循环的条件小于等于100,就一直外循环里面了。看你的代码,应该再定义一个变量替换i++前面两句中的i。

热心网友

如你所写的代码while以i>100作为退出条件,但是在while循环内中红色框内代码改变了i的值,导致i一直等于1/-1,退不出循环,已经死循环了。

应该把此代码删除,再定义一个

int flag = 1;

while(i <= 100)

{

s = s + flag/i;

flag = -flag;

i++;

}

还有printf里的换行是\n不是 /n。

热心网友

不出来,结果是程序进入了死循环。首先是你的循环语句while(i<=100);本身就是死循环。因为i的初始值是1,但是循环体有了一个分号,就是空语句,什么都没有做,所以它永远是1。另外下面也有问题,楼上两位已经说了。

热心网友

你这个循环里面用了i++,但是在执行这个i++前,执行了i=pow(-1,i+1);这条语句导致i的值要么是+1,要么是-1,再执行i++后i的值要么是0要么是1,所以永远都满足循环的条件小于等于100,就一直外循环里面了。看你的代码,应该再定义一个变量替换i++前面两句中的i。

热心网友

你这个循环里面用了i++,但是在执行这个i++前,执行了i=pow(-1,i+1);这条语句导致i的值要么是+1,要么是-1,再执行i++后i的值要么是0要么是1,所以永远都满足循环的条件小于等于100,就一直外循环里面了。看你的代码,应该再定义一个变量替换i++前面两句中的i。

热心网友

如你所写的代码while以i>100作为退出条件,但是在while循环内中红色框内代码改变了i的值,导致i一直等于1/-1,退不出循环,已经死循环了。

应该把此代码删除,再定义一个

int flag = 1;

while(i <= 100)

{

s = s + flag/i;

flag = -flag;

i++;

}

还有printf里的换行是\n不是 /n。

热心网友

不出来,结果是程序进入了死循环。首先是你的循环语句while(i<=100);本身就是死循环。因为i的初始值是1,但是循环体有了一个分号,就是空语句,什么都没有做,所以它永远是1。另外下面也有问题,楼上两位已经说了。

热心网友

你这个循环里面用了i++,但是在执行这个i++前,执行了i=pow(-1,i+1);这条语句导致i的值要么是+1,要么是-1,再执行i++后i的值要么是0要么是1,所以永远都满足循环的条件小于等于100,就一直外循环里面了。看你的代码,应该再定义一个变量替换i++前面两句中的i。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com