永发信息网

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

答案:3  悬赏:30  手机版
解决时间 2021-03-22 02:54
  • 提问者网友:書生途
  • 2021-03-21 03:17
#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。
我这个程序有什么问题,可以如何修改。
最佳答案
  • 五星知识达人网友:杯酒困英雄
  • 2021-03-21 04:34
没有反应的原因有很多种。比如错误输入,类型错误,代码逻辑错误。不同的情况应该分开分析。
例如 scanf("%lf %lf\n",&x,&e);这样的语句在回车后就没有反应,必须输入\n后才会有反应。
因为非输出控制符必须原样输入。\n在scanf函数当中并不是控制符,这里没当成换行符使用。用scanf 不要加入“\n”非输入控制符,系统在运行时会自动换行。
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-03-21 06:57
把每一步循环的结果都打出来看看。试着自己找找原因。
  • 2楼网友:三千妖杀
  • 2021-03-21 05:25
scanf("%d\n",t); 应该为 scanf("%d\n",&t); 原来写错了,所以输入的数并没有送入变量t,而是不知道送到哪里了。至于变量t的值是保留的内存中原有值,不一定是多少。如果恰好是0,那么就是您说的现象。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯