这是我的代码:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int l,n;
printf("Enter the number of digits: ");
scanf("%d",&l);
printf("Enter the number: ");
scanf("%d",&n);
int rev = 0;
int s=0;
for(int i=1;i<=l;i++){
rev += (((n%(10*i))-(n%(10*s)))*(10*(l-s-1)));
++s;
printf("\n");
}
printf("%d\n",rev);
fflush(stdout);
}
上面的程序是我尝试制作一个程序来反转
l
位长的数字,是的,它有一个缺陷但不是程序结束的缺陷,至少在我看来是这样。我在另一篇关于类似主题的文章中读到,fflush(stdout);
语句会使 printf
语句在 for
循环之后执行,但它不起作用。
在此方面的任何指导将不胜感激。
有瑕疵但不是节目结尾
它至少有一个。
n%(10*s)
的第一次迭代是 undefined behavior (UB) as that is n%0
.
至少解决这个问题。