各位高手来啊!

pgl8212 2001-05-31 09:53:00
各位高手请问以下程序
main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=a+b;
printf("%d",c);
}
生成.exe文件后
输入1,2回车,显示3。然后就不能再执行了。我知道这是因为该程序只能执行一次。请高手告诉我,该用什么办法解决这个问题。请给程序内容好吗?摆脱!!
pgl8212@sina.com
...全文
124 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liao2001 2001-06-01
  • 打赏
  • 举报
回复
我也给一个吧!

#include <stdio.h>
main()
{
int a,b,c;
c=scanf("%d,%d",&a,&b);
while(c==2)
{
printf("%d\n",a+b);
c=scanf("%d,%d",&a,&b);
}
}

输入不是两个就退出,你可以把它改得好一点。

sczhh 2001-05-31
  • 打赏
  • 举报
回复
do-while 与 while 楼上的都说了,我就用for与goto :-)
main()
{
int a,b,c;
char ch
for(;;)
{
printf("\n input a,b");
scanf("%d,%d",&a,&b);
c=a+b;
printf("%d",c);
printf("\n q:uit\t other:continue");
ch=getch();
if(ch=='q')break;
}
}

main()
{
int a,b,c;
char ch
again:
printf("\n input a,b");
scanf("%d,%d",&a,&b);
c=a+b;
printf("%d",c);
printf("\n q:uit\t other:continue");
ch=getch();
if(ch=='q')exit;
goto again;
}
}

jacky___c 2001-05-31
  • 打赏
  • 举报
回复
//改了一下
#include <stdio.h>
#include <conio.h>
main()
{
char ch;
int a,b,c;
do{
printf("\nEnter two numbers for adding:");
scanf("%d %d",&a,&b);//数字之间用空格隔开
c=a+b;
printf("%d\n",c);
printf("Do you want to continue![y/n]");
ch = getch();
}while (ch == 'y'|| ch == 'Y');
}
jacky___c 2001-05-31
  • 打赏
  • 举报
回复
#include <stdio.h>
main()
{
char ch;
int a,b,c;
do{
printf("Enter two numbers for adding:");
scanf("%d,%d",&a,&b);
c=a+b;
printf("%d",c);
printf("Do you want to continue![y/n]");
ch = getchar();
}while (c == 'y'|| c == 'Y');
}
hyqryq 2001-05-31
  • 打赏
  • 举报
回复
也可用bioskey函数读缓冲区,如果是ESC的扫描码就退出,否则继续,

这样可以实现在任意时敲ESC退出。



hyqryq 2001-05-31
  • 打赏
  • 举报
回复
不好意思,没看清

enterzhuang(老庄) 的程序有误

你必须首先规定结束条件,

例如:

main()
{
int a,b,i,sum, times;

printf("请输入次数:");
scanf("%d",×)

for(i=0;i<times;i++)
{
scanf("%d,%d",&a,&b);
sum=a+b;
printf("sum is %d.\n",c);
}
}


hyqryq 2001-05-31
  • 打赏
  • 举报
回复
hahaha............

main()
{
int a,b,c;
while(d!=0) //c!=0吧
{
scanf("%d,%d",&a,&b);
c=a+b;
printf("%d",c);
}
}

enterzhuang 2001-05-31
  • 打赏
  • 举报
回复
不好意思,输少一个"{"
main()
{
int a,b,c;
while(d!=0)
{
scanf("%d,%d",&a,&b);
c=a+b;
printf("%d",c);
}
}

这样只有当你输入0时才会退出
enterzhuang 2001-05-31
  • 打赏
  • 举报
回复
main()
{
int a,b,c;
while(d!=0)
scanf("%d,%d",&a,&b);
c=a+b;
printf("%d",c);
}
}

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧