邀请码 发表于 2016-3-21 21:12 我明白我的为什么找不到else了,因为我在if后面跟;了。至于为什么else后也是a=a+2,也明白了。如果a是1,则执行else的语句,a=a+2。就是a=1+2=3了。如果是a=a+1则是a=1+1=2了。就没有判断出奇数。就是当a是奇数时+2还是奇数,+1就成了偶数了。如果a是偶数就直接只是if语句了,else的就不执行了。 |
今殷 发表于 2016-3-21 21:13 你这个没有while。。。。。。 |
[mw_shl_code=c,true]#include <stdio.h> #include <stdlib.h> int main() { int a; printf("请输入一个数字\n"); scanf("%d",&a); if(a%2==0) printf("您输入的是偶数%d:\n",a); else printf("您输入的是奇数%d:\n",a); system("pause"); return 0; }[/mw_shl_code] |
如果把if后面的;去掉可以输出偶数,但是无法输出奇数。把else改成if(a%2!=0),则可以输出奇数。if后面跟;是怎么个跟法?不明白,求解释。 |
[mw_shl_code=c,true] int a; printf("请输入一个数字\n"); scanf("%d",&a); if(a%2==0) { while(a<=10) { printf("%d\n",a); a=a+2; } } else { while(a<=10) { printf("%d\n",a); a=a+2;//想一想这是为毛 } } [/mw_shl_code] |