整形值用递归转化为字符问题
#include<stdio.h>void print(int n)
{
if (n > 9)
{
print(n / 10);
}
printf("%d ", n % 10);
}
int main()
{
int i = 1234;
print(i);
return 0;
}
想知道为什么大于10的/10 ,小于10的求余就算是转化了呢? 用递归:#include <stdio.h>
void show(int num) {
if (!num) return;
show(num / 10);
printf("%d", num % 10);
}
int main() {
int num = 12345;
/*
char str;
snprintf(str, 6, "%d", num);
printf("%s", str);
*/
show(num);
} {:10_266:}{:10_266:}{:10_266:} 为什么不直接转换呢? #include <stdio.h>
int main() {
int num = 12345;
char str;
snprintf(str, 6, "%d", num);
printf("%s", str);
} 1234
print(123) 打印4
[ print(12) 打印3 ] 打印4
{ [ print(1)打印2 ] 打印3} 打印4
{ [ 打印1 打印2 ] 打印3} 打印4
页:
[1]