先看这一段代码:

/*
P125
清单7.15 使用迭代求第N个Fibonacci数
*/
#include <iostream>
int fib(int position);
int main(){
using namespace std;
int answer,position;
cout << "Which position? ";
cin >> position;
cout << "\n";
answer = fib(position);
cout << answer << "th is the " << position << " Fibonacci number.\n";
cin >> position;
return ;
} int fib(int position){
if(position < ) return ;
int last = ;
int result = ;
int tmp = ;
for(int b = ;b<=position;b++){
if(b < ) last = ;
result = last + result;
tmp = result;
result = last;
last = tmp;
}
//return result;
}

按照一贯的思维肯定认为fib函数里不该注掉返回值的那一行,但你有没有想过,这在VC++6.0 和VS2008 里的VC++都能编译通的过?明天用 VS2013测试一下看看是不是也可以通的过。可能没有人试过吧.今天也是无意中发现的,注掉后不仅能编译通的过,还有返回值,只是返回值不是正确的。虽然我不能断定这是VC++的BUG,但这样的做法会不会产生意想不到的BUG?

在百度搜了一下,发现这篇知道 原来会返回随机值,我就不明白了,既然你返回的也是错误的随机值,为何就不能强制编译通不过呢?这是不是C++留的一个坑?有知道的大神能给个回复不

C++中函数中没写返回值会怎么样?的更多相关文章

  1. python中函数的参数和返回值

    目录 函数 目标 01. 函数参数和返回值的作用 1.1 无参数,无返回值 1.2 无参数,有返回值 1.3 有参数,无返回值 1.4 有参数,有返回值 02. 函数的返回值 进阶 示例 -- 温度和 ...

  2. python中函数的定义、返回值以及参数的简要介绍

    一. 1.函数 定义:def关键字开头,空格之后接函数名称和圆括号(),后面紧跟‘:”. 函数是对功能的封装 语法: def 函数名(形参列表): 函数体(代码块,return) 调用: 函数名(实参 ...

  3. Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值

    Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值,去属性表中设置这时候会提示你去属性表中更改返回类型. 其实存储过程返回的也是一张表,只不过有时候存储过程有点复杂或者写法不规范的话不能 ...

  4. c#中命令copy已退出,返回值为1

    c#中命令copy已退出,返回值为1 本正经的道:董姐刚才你说的修心养性其中的'修心'我 有孕在身刚好由戴梦瑶顶替了她的位置按照的指示 ╋旆呆 湎术葶页 邾箕砜笳 烦璜卿廑 奶奶个腿儿的等下次非让你 ...

  5. Golang中defer、return、返回值之间执行顺序的坑

    原文链接:https://studygolang.com/articles/4809 Go语言中延迟函数defer充当着 cry...catch 的重任,使用起来也非常简便,然而在实际应用中,很多go ...

  6. ascii#ascii,对象类中找__repr__,获取其返回值

    #!/usr/bin/env python #ascii,对象类中找__repr__,获取其返回值 class Foo : def __repr__(self): return "hello ...

  7. 探寻main函数的“标准”写法,以及获取main函数的参数、返回值

    main函数表示法        很多同学在初学C或者C++时,都见过各种各样的main函数表示法: main(){/*...*/} void main(){/*...*/} int main(){/ ...

  8. 【Go入门教程3】流程(if、goto、for、switch)和函数(多个返回值、变参、传值与传指针、defer、函数作为值/类型、Panic和Recover、main函数和init函数、import)

    这小节我们要介绍Go里面的流程控制以及函数操作. 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.Go中流程控制分三大类:条件判断,循环控制和 ...

  9. day11 python学习 函数的建立,返回值,参数

    函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算,如:发送邮件.计算出 [11,22,38,888,2]中的最大数等 ...

随机推荐

  1. PHP负数判空

    2014年11月6日 10:08:09 $a = -1; $b = '-1'; $c = empty($a); $d = empty($b); var_dump($c, $d); // bool(fa ...

  2. mysql 源码下载列表

    2013年11月16日 14:57:04 http://download.softagency.net/MySQL/Downloads/MySQL-5.5/ http://code.google.co ...

  3. oracle10G/11G官方下载地址集合 直接迅雷下载

    Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (64-bit)   http://download.oracle.c ...

  4. weblogic 安装和部署项目(原创)

    1.下载weblogic(含破解文件,土豪请支持正版,谢谢!) 2.安装如下图: 3.新建domain 4.打开weblogic Console 5.开始部署项目 6.部署成功

  5. FragmentTabHost+ViewPager实现底部按钮

    package com.example.fragmenttabdemo; import java.util.ArrayList; import java.util.List; import andro ...

  6. C/C++函数参数读取顺序2

    #include <stdio.h>int main(){ int a=1,b=3,c=3; printf("%d, %d, %d",(a++,b++,c++),b,c ...

  7. C++中的static数据成员与static成员函数

    本文要点: 1.static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联! aka:每个static数据成 ...

  8. Struts2中的ActionContext、OGNL及EL的使用

    文章分类:Java编程 本文基于struts2.1.8.1,xwork2.1.6 1.EL         EL(Expression Language)源于jsp页面标签jstl,后来被jsp2.0 ...

  9. hdu 3183 贪心

    题意:给一个数字,删掉其中的若干位,使得最后的数字最小 就是每次删除数的时候都是删掉第一个比右边数大的数 利用双向链表模拟 #include<cstdio> #include<ios ...

  10. android 检测sqlite数据表中字段(列)是否存在 (转)

    原文摘自 http://www.tuicool.com/articles/jmmMnu 一般数据库升级时,需要检测表中是否已存在相应字段(列),因为列名重复会报错.方法有很多,下面列举2种常见的方式: ...