為什么這個代碼是死循環
#include <stdio.h>
int main()
{
? ? int sum = 0; ?
? ? int i = 1; ? ?
? ? for(;i<=10;i++)
? ? {
? ? ? ? sum=sum+i;
? ? ? ? i=-i;
? ? } ?
? ? printf("sum=%d\n",sum);?
? ??
? ? return 0; ? ?
}
#include <stdio.h>
int main()
{
? ? int sum = 0; ?
? ? int i = 1; ? ?
? ? for(;i<=10;i++)
? ? {
? ? ? ? sum=sum+i;
? ? ? ? i=-i;
? ? } ?
? ? printf("sum=%d\n",sum);?
? ??
? ? return 0; ? ?
}
2019-07-27
舉報
2019-07-27
如果你一定要這樣做的話,就用一個三目運算符。
就是這樣?for(int i = 1;i<=100;i>0?i++:i--)
2019-07-27
為什么的話,我想應該是這樣。首先i=1.然后i=-i 所以i=-1 然后 i++。i就等于0了。i=-i。 i還是等于0,i++然后i又等于1了。所以是死循環。
2019-07-27
應該重新定義一個常量,用這個常量來控制符號的正負