我的代码是
#includeint main() { int n; unsigned long int a,x; scanf("%d",&n); while(n--) { scanf("%lu",&a); int count=0; while(a!=0) { x=a%10; printf("x=%lu\n",x ); if(x!=4||x!=7) { count++; } printf("count =%d\n",count ); a=a/10; } //printf("%d\n",count ); } }
我观察到当x = 4或x = 7计数增加时,它不应该因为我在其中放入了if条件.
更换||
用&&
的if
条件,否则结果x!=4||x!=7
将永远是true
.
当x = 4
接着x != 4
被评估并且其返回false
,然后x != 7
进行评估,其评估为true
.