int main(void)
{
int i, j = 0;
int sum = 0;
for (i = 1; i <= 100; i++)
{
if ("i%2!=0")
j=j++;
}
printf("%d", j);
system("pause");
return 0;
}
最后输出为100,请问哪里不对?
if ("i%2!=0") 永远都是真
if ("i%2!=0")
j=j++;
}
当为奇数时,你的操作是应该改成sum=sum+i;
if(i%2!=0){
sum=sum+i;
}
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int i;
int sum = 0;
for (i = 1; i <= 100; i++)
{
if((i%2) != 0)
sum += i;
}
printf("%d\n", sum);
system("pause");
return 0;
}
#include<stdio.h>
#include<math.h>
int main(void)
{
int i, j = 0;
int sum = 0;
for (i = 1; i <= 100; i++)
{
if ( "i%2!=0") //错误
j=j++; //错误
}
printf("%d", j);
return 0;
}
正确代码
#include<stdio.h>
#include<math.h>
int main(void)
{
int i, j = 0;
int sum = 0;
for (i = 1; i <= 100; i++)
{
if (i%2!=0)
sum+=i;
}
printf("%d", sum);
return 0;
}
#include
int main(void)
{
int i, j = 0;
int sum = 0;
for (i = 1; i <= 100; i++)
{
if (i%2!=0)//1.if("i%2!=0")这里是错的,加上双引号就成了字符串
j++;//2.j=j++这个式子有问题,j++就相当于j=j+1
}
printf("%d\n", j);
return 0;
}