在编译时显示没有错误,进入界面,只能输入一个数,应该是后面的程序都没有循环了,实在没有找到什么问题。
m<0才进while循环呢
修改如下,供参考:
#include <stdio.h>
int main()
{
int m, n = 1, x = 0, sum = 0;
scanf_s("%d", &m);
while (m) { //(m < 0)
x = m % 10;
if (x % 2 == 0)
sum += x; //偶数位和
m /= 10;
if (m > 0)
n *= 10; //权位
}
printf("权位为:%d\n", n);
printf("偶数位和:%d\n", sum); //修改
return 0;
}