热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

void有无返回值c语言,c语言中的void表示无返回值,那下面的第一个程序怎样理解?...

c语言中的void表示无返回值,那下面的第一个程序怎样理解?答案:4信息版本:手机版解决时间2019-10-0618:36已解决2019-

c语言中的void表示无返回值,那下面的第一个程序怎样理解?

答案:4  信息版本:手机版

解决时间 2019-10-06 18:36

已解决

2019-10-06 05:52

void swap(int *x,int *y)

{int t;

t=*x;*x=*y;*y=t;

}

main()

{int a=1,b=2,*pa,*pb;

pa=&a;pb=&b;

swap(pa,pb);

printf("%d,%d",a,b);

}

void不是无返回值的么,这个程序怎么理解?

void swap(int *x,int *y)

{int *t;

t=x;x=y;y=t;

}

main()

{int a=1,b=2,*pa,*pb;

pa=&a;pb=&b;

swap(pa,pb);

printf("%d,%d",a,b);

}

第一个程序实现了数的交换,为什么第二个不能?

最佳答案

2019-10-06 06:54

这里的void就是没有返回值的意思,实现变量值交换是通过指针来实现的

第一个修改了指针指向位置的值,所以实现了变量值交换

第二个只是交换了指针形参,并没有交换\指向位置的值,所以还是原来的

全部回答

1楼

2019-10-06 10:56

是无返回值

比如

void add(int x,int y)

{

printf("%d",x+y);

}假设x=1,y=2

在屏幕上输出 3

int add(int x,int y)

{

return x+y;//返回值是x+y

}

就要如下用

int a;

a=add(1,2);//将返回值1+2赋给a

printf(“%d”,a);

在屏幕上输出 3

2楼

2019-10-06 09:50

在 第一个 void方法中,没有返回值,那是参数值, 第二个中掉了个(*)

因为传参数是传给方法中申明的变量中的(*x 和*Y 中)

3楼

2019-10-06 08:33

void swap(int *x,int *y) //传值:将pa拷贝给x,将pb拷贝给y,因为是拷贝,所以x与pa,y与pb其实是没有关系的,x与y的改变对pa与pb没有影响。函数的作用:将行参x,y的值互换,对实参完全没有影响。

{int *t;

t=x;x=y;y=t;

}

main()

{int a=1,b=2,*pa,*pb;

pa=&a;pb=&b;

swap(pa,pb);

printf("%d,%d",a,b);

}

void swap(int *x,int *y)//传值:将pa拷贝给x,将pb拷贝给y,所以x的值等于pa,也等于a的地址,对*x的操作就是对a的操作

{int t;

t=*x;*x=*y;*y=t;

}

main()

{int a=1,b=2,*pa,*pb;

pa=&a;pb=&b;

swap(pa,pb);

printf("%d,%d",a,b);

}

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯



推荐阅读
  • 本文详细介绍了C语言中链表的两种动态创建方法——头插法和尾插法,包括具体的实现代码和运行示例。通过这些内容,读者可以更好地理解和掌握链表的基本操作。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 本文详细探讨了C语言中指针的概念,特别是指针在变量和数组中的应用。通过实例讲解,帮助读者更好地掌握指针的使用方法。 ... [详细]
  • 本文介绍了几种不同的编程方法来计算从1到n的自然数之和,包括循环、递归、面向对象以及模板元编程等技术。每种方法都有其特点和适用场景。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本题探讨了一种字符串变换方法,旨在判断两个给定的字符串是否可以通过特定的字母替换和位置交换操作相互转换。核心在于找到这些变换中的不变量,从而确定转换的可能性。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 火星商店问题:线段树分治与持久化Trie树的应用
    本题涉及编号为1至n的火星商店,每个商店有一个永久商品价值v。操作包括每天在指定商店增加一个新商品,以及查询某段时间内某些商店中所有商品(含永久商品)与给定密码值的最大异或结果。通过线段树分治和持久化Trie树来高效解决此问题。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • Java 类成员初始化顺序与数组创建
    本文探讨了Java中类成员的初始化顺序、静态引入、可变参数以及finalize方法的应用。通过具体的代码示例,详细解释了这些概念及其在实际编程中的使用。 ... [详细]
author-avatar
可爱鼠标1985
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有