求教c高手,编译成功为什么没有结果显示

jasmine 2011-02-09 01:13:11
#include <stdio.h>
void main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
getchar();

}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else
z=y;
return (z);
}
这道题我编译成功了,为什么在
我输入1,2后
没有输出结果
而且编译的后连接的页面自动关闭
我用的是wintc编译的

而且编译器中提示我必须在程序结束时加入getchar();
这样页面才会出现停顿显示结果
...全文
815 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jasmine 2011-02-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 arong1234 的回复:]
人家声明函数完全符合标准,为什么不行?标准只是不允许在内部再实现一个函数,声明还是可以的

dos窗口一闪而过是很正常的。你如果没有getchar程序都结束了,那个页面为什么还留着?

引用 1 楼 bdmh 的回复:
这段代码竟然可以通过编译吗,
在vs2005下,首先是不允许在main中声明函数的,而且,你这max函数和系统定义的max冲突
[/Quote]
在dos 窗口中显示出最大值的结果啊 大侠
appx 2011-02-09
  • 打赏
  • 举报
回复
由于缓冲机制的问题导致并不是只要有输出操作系统就会将所有信息输出,这就可能导致数据还未被显示程序就结束。所以需要我们强制刷新缓冲区来显示信息,对于像getchar()这样的输出函数是是实现强制刷新显示缓冲区内容的措施的,只有这样显示的信息才不至于混乱。当然也并不像1楼说的那样不能在函数中声明。当然,这个函数虽然在库函数中存在,但是并没有包含这个函数的头文件所有操作是可行的。
ww884203 2011-02-09
  • 打赏
  • 举报
回复
再加一个getchar试试吧,可能把你的回车当成输入了。不然你加个system("pause");
walkersfaint 2011-02-09
  • 打赏
  • 举报
回复
声明一下是可以的...木有问题
jasmine 2011-02-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ht2512218 的回复:]
#include <stdio.h>
int max(int x,int y);
void main()
{

int a,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);


}
int max(int x,int y)
{
int z;
if(x>y) z=……
[/Quote]


我想请问一下 ,我这个为什么不能够用嵌套调用啊
arong1234 2011-02-09
  • 打赏
  • 举报
回复
人家声明函数完全符合标准,为什么不行?标准只是不允许在内部再实现一个函数,声明还是可以的

dos窗口一闪而过是很正常的。你如果没有getchar程序都结束了,那个页面为什么还留着?[Quote=引用 1 楼 bdmh 的回复:]
这段代码竟然可以通过编译吗,
在vs2005下,首先是不允许在main中声明函数的,而且,你这max函数和系统定义的max冲突
[/Quote]
jasmine 2011-02-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
这段代码竟然可以通过编译吗,
在vs2005下,首先是不允许在main中声明函数的,而且,你这max函数和系统定义的max冲突
[/Quote]
我说了 我用的是Win—TC 这种编译器
有编译成功,但是
输入了1,2无结果显示
而且那个窗口自动关闭
我想请教一下原因
SunnyTao 2011-02-09
  • 打赏
  • 举报
回复
#include <stdio.h>
int max(int x,int y);
void main()
{

int a,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);


}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else
z=y;
return z;
}


你的函数不可以嵌套定义啊,还有想要暂停的话 可以加 system(“PAUSE”);
bdmh 2011-02-09
  • 打赏
  • 举报
回复
这段代码竟然可以通过编译吗,
在vs2005下,首先是不允许在main中声明函数的,而且,你这max函数和系统定义的max冲突

70,037

社区成员

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

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