Printf() 在 For 循环语句后不执行

问题描述 投票:0回答:1

这是我的代码:

#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
循环之后执行,但它不起作用。

在此方面的任何指导将不胜感激。

c for-loop printf
1个回答
0
投票

有瑕疵但不是节目结尾

它至少有一个。

n%(10*s)
的第一次迭代是 undefined behavior (UB) as that is
n%0
.

至少解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.