标题:一个简单的程序,不太明白
取消只看楼主
fxzjw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-1-22
 问题点数:0 回复次数:3 
一个简单的程序,不太明白

有一个题目是要求构造一个函数f(),要求在主函数中运行:
cout <<f()<<f() <<endl;
后输出:

你好
大家好

我设计了一个程序如下,在C++Builder 6运行后却是:(“大家好”为什么先出现了?)

大家好
你好

程序如下:
#include <iostream.h>
char a[] = "你好\n" ;
int i=0;
char b[] = "大家好\n";
char* f(){
i++ ;
if (i==1)return a;
if (i==2)return b;
}
void main(){
cout <<f()<<f() <<endl;
}

搜索更多相关主题的帖子: include color 
2006-02-11 21:20
fxzjw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-1-22
得分:0 

谢谢kai,测试通过!

但我的程序问题是什么呢?能不能解释一下?


2006-02-11 23:55
fxzjw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-1-22
得分:0 
谢谢KAI了,但KAI在5楼所说:
以下内容为程序代码:

#include <iostream.h>
#include <stdlib.h>
char a[] = "你好\n";
char b[] = "大家好\n";
int i=0;

char * f()
{
i++;
char * p = NULL;
if (i==1)
p = a;
else if (i==2)
p = b;
return p;
}
int main()
{
cout <<"Hello"; // 单步调试到这里请你看一下屏幕,
// 你会发现屏幕上没有显示hello 这个单词
// 如果你在这行代码后面加上<<flush; 或者 <<endl;
// 你再单步调试一下, 看看屏幕上显示了什么.
cout <<"World"<<endl;

system("pause");
return 0;
}
我用C++Builder 6进行单步调试时,发现:
cout <<"Hello"; 这一行 后面无论加不加 <<flush; 或者 <<endl;
单步调试时,屏幕上都不显示 "Hollo"
这是不是说明你的理论有点问题呢?



2006-02-13 14:14
fxzjw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-1-22
得分:0 
谢谢kai了

2006-02-17 23:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-45199-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.117908 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved