int fac(int x) { int i = 0; for(i = x; i > 9; i / 10) { printf("%d", x % 10); } return 0; } #include<stdio.h> int main() { int n = 0; scanf("%d", &n); int ret = fac(n); printf("%d", n); return 0; }
时间: 2024-03-30 08:35:02 浏览: 99
由用户输入n个10以内的数,每输入i(0~9)
5星 · 资源好评率100%
这段代码存在一个问题,即在 fac 函数中的 for 循环中,i 并没有被更新,导致程序陷入死循环。应该将 i = i / 10 改为 i = i/10。另外,在 fac 函数中,应该将 printf("%d", x % 10); 改为 printf("%d", i % 10); 才能实现从高位到低位输出数字的功能。
阅读全文