devc++运行exe文件怎么输出结果
答案:3 悬赏:50 手机版
解决时间 2021-03-01 23:25
- 提问者网友:我一贱你就笑
- 2021-03-01 02:30
程序编译完成,也可以运行了,在运行的字符窗口中,怎么样让其输出结果?操作哪个键?
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-03-01 03:21
这里将C++ Primer中函数形参章节有关const和引用的问题简单小结如下:
一、非const非引用形参
这个是一个平庸的情形。函数参数通过复制对应的实参实现初始化,函数本身对形参的修改不会影响到实参。传递给这类函数的实参可以是一个const型的对象,也可以是非const的对象。
一个需要注意的事情是,有一个较为特殊的例子是指针形参,也就是形参是指针。这类函数的定义形式是:
int fnExample(int *iValue){......}
同一般的非const非引用情形一样,函数不会修改传递给它的实参(指针),但是,对指针的局部修改将会改变指针所指向的值。如果需要保护指针所指向的值,我们必须将形参定义为指向const对象的指针 :
int fnExample(const int *iValue){........}
此时我们仍然可以传递一个int*型实参给函数,而并不一定需要传递const int*型实参。
二、非引用const型形参
int fnExample(const int iValue){.......}
这种情形事实上与刚刚讨论的指向const对象的指针形参是一致的,我们不可以改变实参的局部副本,但我们既可以传递给函数const对象,也可以传递非const对象。
三、复制实参的局限性
以下几种情形不适宜复制形参,此时需要将形参定义为引用或者指针类型:
1.需要修改实参的值
2.复制对象时间或空间代价过大
3.没有办法复制实参
四、const引用形参
前面提到,对于复制类类型或者大型数组,非引用形参效率太低。此时我们需要将形参定义为引用类型,但如果我们仅仅希望避免复制,而不是为了要改变实参,那么我们应该把形参定义为const引用:
int fnExample(const int &iValue){........}
五、非const引用形参
如果函数没必要修改实参,而仅仅是避免复制,则应该使用const引用,非const引用毫无必要地限制了函数的使用。如果函数具有普通的非const引用形参,则必须给函数传递类型完全一致的非const对象。给这类函数传递一个字面值、一个表达式、或者一个需要进行类型转换的对象都是不允许的。
一、非const非引用形参
这个是一个平庸的情形。函数参数通过复制对应的实参实现初始化,函数本身对形参的修改不会影响到实参。传递给这类函数的实参可以是一个const型的对象,也可以是非const的对象。
一个需要注意的事情是,有一个较为特殊的例子是指针形参,也就是形参是指针。这类函数的定义形式是:
int fnExample(int *iValue){......}
同一般的非const非引用情形一样,函数不会修改传递给它的实参(指针),但是,对指针的局部修改将会改变指针所指向的值。如果需要保护指针所指向的值,我们必须将形参定义为指向const对象的指针 :
int fnExample(const int *iValue){........}
此时我们仍然可以传递一个int*型实参给函数,而并不一定需要传递const int*型实参。
二、非引用const型形参
int fnExample(const int iValue){.......}
这种情形事实上与刚刚讨论的指向const对象的指针形参是一致的,我们不可以改变实参的局部副本,但我们既可以传递给函数const对象,也可以传递非const对象。
三、复制实参的局限性
以下几种情形不适宜复制形参,此时需要将形参定义为引用或者指针类型:
1.需要修改实参的值
2.复制对象时间或空间代价过大
3.没有办法复制实参
四、const引用形参
前面提到,对于复制类类型或者大型数组,非引用形参效率太低。此时我们需要将形参定义为引用类型,但如果我们仅仅希望避免复制,而不是为了要改变实参,那么我们应该把形参定义为const引用:
int fnExample(const int &iValue){........}
五、非const引用形参
如果函数没必要修改实参,而仅仅是避免复制,则应该使用const引用,非const引用毫无必要地限制了函数的使用。如果函数具有普通的非const引用形参,则必须给函数传递类型完全一致的非const对象。给这类函数传递一个字面值、一个表达式、或者一个需要进行类型转换的对象都是不允许的。
全部回答
- 1楼网友:北方的南先生
- 2021-03-01 04:58
编译是ctrl+F9,执行是ctrl+F10
是不是执行后,一个黑框一闪而过后就没了?
这个可以这样做,在程序返回前加一句getchar();
就像下面这个程序这样,这样就没有问题了
此程序仅供参考。 如果没有输出,那么说明你的程序可能存在问题。
#include <stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<=100;i++)
sum+=i;
printf("1+2+3+……+100=%d",sum);
getchar();
return 0;
}
- 2楼网友:枭雄戏美人
- 2021-03-01 03:48
6月30日 17:06 这是因为你编写的程序运行结束了,就自动退出dos控制台了,只要在你的程序的最后加上system("pause");这条语句就可以让程序运行完后停下来暂时不关闭控制台了!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯