为什么编写c语言的时候运行输入回车后没有反应

#include <stdio.h>
#include <math.h>

main()

{
long s,t=1,f=1;
int i=1,x,y;
printf("input :");
scanf("%ld",&s);
x = s%10;
y = s/100%10*10;
for(; f !=0 ;i = pow(100,i) )
{
t = t+x+y;
f = s/1000;
x = s%10*i;
y = s/100%10*10*i;
i = i++;
}
printf("t=%ld\n",t);
}
要求是输入7654321,输出是7531。
我这个程序有什么问题,可以如何修改。

没有反应的原因有很多种。比如错误输入,类型错误,代码逻辑错误。不同的情况应该分开分析。
例如 scanf("%lf %lf\n",&x,&e);这样的语句在回车后就没有反应,必须输入\n后才会有反应。
因为非输出控制符必须原样输入。\n在scanf函数当中并不是控制符,这里没当成换行符使用。用scanf 不要加入“\n”非输入控制符,系统在运行时会自动换行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-26
把每一步循环的结果都打出来看看。试着自己找找原因。