鱼C论坛

 找回密码
 立即注册
查看: 3580|回复: 5

函数调用顺序,求解下面的程序结果为何如此?

[复制链接]
发表于 2013-5-24 23:20:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 friendship 于 2013-5-24 23:30 编辑

#include <iostream.h>
#include <stdio.h>
void main()
{
        void printstar();
        void print_message();

        printstar();
        print_message();
        printstar();
}

void printstar()
{
        cout<<"*******************************\n";
}

void print_message()
{
        printf("小甲鱼万岁!万岁!万万岁!\n");
}

重点是为什么结果是:
小甲鱼万岁!万岁!万万岁!
*******************************
*******************************
而不是
*******************************
小甲鱼万岁!万岁!万万岁!
*******************************
而且全换cout或printf都可以正常输出!
求解谢谢各位!


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-25 00:22:45 | 显示全部楼层
我运行行,结果是这样: 夺.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-25 07:19:13 | 显示全部楼层
我只是路过打酱油的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-25 09:36:13 | 显示全部楼层
用cout输出的流是被缓冲的,信息送到cout流后并没有立即出现在屏幕中,而是等缓冲区清空了才显示。可以通过使用以下语句实现立即显示
(1)cout<<...<<endl;

(2)cout.flush();

(3)cout<<...<<flush;
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-25 14:10:43 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-25 14:12:51 | 显示全部楼层
北林之中 发表于 2013-5-25 09:36
用cout输出的流是被缓冲的,信息送到cout流后并没有立即出现在屏幕中,而是等缓冲区清空了才显示。可以通过 ...

谢谢指点。我再研究一下。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-28 00:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表