课程
/后端开发
/C
/C语言入门
#include <stdio.h>
int main()
{
int sum = 0;
int i = 1;
int flag = 1;
for(i=1;i<=100;i++)
sum=sum+i*(-1)^(i+1) ;
}
printf("sum=%d\n",sum);
return 0;
2016-08-10
源自:C语言入门 4-10
正在回答
学长“慕粉3717182”用的更简单了
sum += i%2?i:-i;
printf("sum=%d\n", sum);
sum=sum+i*(-1)^(i+1) ; 到目前没学过。"^" 不理解。
我把你的for执行代码块换成
if(i%2==0)
sum-=i;
else
sum+=i;
结果-50。
我知道你是想简便的写出来,三目运算法带入for循环。
sum=i%2>0?sum+i:sum-i;
一样简单而且之前学过
sum=sum+i*(-1)^(i+1) ; 这句里面你用了异或,异或的优先级在“*”后面,所以你这里就是-i和i+1按位异或,结果就是符号位永远是1,即是负数,后面的运算,因为最后一位永远是1,无论什么逻辑,你这样肯定是错的。不知道你的思路是什么?
int i;
for(i=1; i<=10; i++)
printf("%d\n", i);
if( i == 3 )//是不是少了一个判断呢?
goto LOOP; //在这里使用goto语句
LOOP:printf("结束for循环了...."); //请选择合适位置添加标识符
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答哪里错了?哪里错了?
1 回答哪里错了,哪里错了?
2 回答哪里错了!哪里错了!
3 回答l哪里错了 哪里错了
2 回答哪里错了错了