第22342题 单选
下列关于C++对称数判断代码的说法正确的是?

下面C++代码用于判断输入的整数是否为对称数(如1221、12321是对称数,123、972不是对称数),代码如下:

cin >> N;
newNum = 0;
while (N) {
    newNum = newNum * 10 + N % 10;
    N = N / 10;
}
if (newNum == N)
    cout << N << "为对称数";
A

代码没有语法错误,如果N为对称数,第8行将能正确输出。

B

代码没有语法错误,但如果N为负数,将导致死循环

C

代码存在语法错误,程序不能被执行。

D

代码没有语法错误,但不能达到预期目标,因为循环结束N总为0