2 xyhqqlove xyhqqlove 于 2016.01.23 19:21 提问

为什么视频上这个代码输出的是1 2,我自己运行输出的是2 1?

int main()
{
int a=1;
int b=2;
swap(a,b);
printf("%d %d",a,b);
}
void swap(int a, int b)
{
int t=a;a=b;b=t;
}

4个回答

caozhy
caozhy   Ds   Rxr 2016.01.23 19:24
已采纳

下断点调试了下,swap(a,b);根本没有执行你定义的那个,而是系统标准库的那个,所以交换成功了。

rl529014
rl529014   2016.01.23 21:43

如果在使用之前声明了swap函数,两个数字也不会交换的,因为是传的值,而不是地址。

wanganzhi123
wanganzhi123   2016.01.23 19:28

可以提前把swap函数声明一下

rl529014
rl529014   2016.01.23 21:42

你子函数没有声明,主函数运行到调用子函数那一句便会出错,提示没有定义swap()函数。
不管使用函数还是变量,都必须先声明后使用,这是原则。
所以如果不声明swap函数,这个程序是不能通过编译的,至少在VS2010,VC6.0,DeVC++这三个编译器上面不能通过编译(我都试过啦)。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
*国*嵌*视频光盘1和2中的实验代码
WHILE翻译程序设计(LL(1)法、输出三地址(可运行代码C++)
实验 3.1.5 查看代码中各数据存储位置 示例程序: mem_add.c 1. 在自己的机器上运行示例程序。 2. 分析实验结果,图示程序运行时各数据位置。
仓库管理系统报告前 言 1 第1章 系统分析 2 1.1系统开发背景与现状 2 1.2 需求调查 3 1.3 系统开发的可行性分析 3 1.3.1 技术上的可行性 3 1.3.2 经济上的可行性 3 1.3.3 组织管理上的可行性 4 1.4 数据流程图 4 第2章 系统设计 5 2.1 代码设计 5 2.2 数据库设计 5 2.2.1 概念结构设计 5 2.2.2 逻辑结构设计 7 2.2.3 物理结构设计 7 2.3 功能模块设计 11 2.4 输入输出设计 11 2.3.1 输入设计 11
DEBUG功能介绍:1.直接输入、更改、跟踪、运行汇镅栽闯绦颍华;2.观察操作系统的内容;3.查看ROM BIOS的内容;4 观察更改RAM内部的设置值;5.以扇区或文件的方式读写软盘数据。
s2sh整合项目(1)绝对能运行
WEB程序设计 实验1 ASP运行环境及简单ASP编程 实验2 VBScript脚本语言 实验3 Request与Response对象的应用 实验4 Application对象Session对象Server对象 实验5 ASP服务器组件实验 实验6 Connection对象,Command对象,Recordset对象 实验7 Recordset对象Fields集合Field对象.htm 实验8 综合实例网上书店 实验一 FrontPage 2002 基本操作 实验二 WEB
1qt视频课2
java spring视频1&2
php开发的各类源代码合集,带一些视频讲解 1 of 2