gpt4 book ai didi

c - C中的回文数,字符串错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:32 24 4
gpt4 key购买 nike

C 新手。尝试编写打印回文数 < 100 万的程序。打印出乱码。我的字符串有误吗?

int decimal_pali(int x)
{
int digits=0;
int num=x;
char D[7];
while(num>0)
{
D[digits]=num%10;
digits+=1;
num/=10;
}

D[digits]='\0';
num=atoi(D);

if(num == x)
{
return 1;
}

return 0;
}

最佳答案

你的错误在于:

D[digits]=num%10;

应该是

D[digits] = num%10 + '0';

num % 10 将产生 0 到 9 之间的数字,但由于您使用的是字符,因此需要获取数字的 ASCII 值。如果你看看 ASCII table ,你会发现为了达到你想要的效果,你需要将'0'的ASCII值(48)加到该值上才能得到正确的字符。

关于c - C中的回文数,字符串错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44482735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com