课程
/后端开发
/C
/C语言入门
sum+=i*(2*(i&2)-1)
括号中由i的奇偶得出+1或-1,但从输出结果来看似乎括号里算出来都是1
2018-09-06
源自:C语言入门 4-10
正在回答
#include <stdio.h>
int main()
{
/* 小伙伴们:
选择你们认为最合理的循环结构完成功能吧 */
int sum = 0; //定义计算结果变量sum
int i = 1; //定义循环数字变量i
int flag = 1; //定义符号状态变量flag
//使用for循环
for(i=1;i<=100;i++)
i++;
flag=-i-1;
sum+=i+flag;
}
printf("sum=%d\n",sum);
return 0;
OrangePeel 提问者
慕九州5552665 回复 OrangePeel 提问者
厉害了,想到这种操作法
flag呢
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
3 回答sum+=i 不应该等于sum=sum+i 吗? 为什么是sum=sum+1+2+4.... i=1+2+4.....?
1 回答为什么sum+=i-++i与sum=sum+i-++i的运算结果不同
2 回答执行i++;sum=sum+i;和执行sum=sum+i;i++;结果怎么不一样
1 回答i=0和i=1时最后的结果的输出结果为什么一样?
4 回答定义i=2,printf("%d,%d,%d",i,++i,i++);输出的结果为什么是3,3,2啊??