热门标签 | 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语言中结构体的内存对齐机制及其优化方法
    为了提高CPU访问效率,C语言中的结构体成员在内存中遵循特定的对齐规则。本文详细解析了这些对齐机制,并探讨了如何通过合理的布局和编译器选项来优化结构体的内存使用,从而提升程序性能。 ... [详细]
  • 你的问题在于:1. 代码格式混乱,缺乏必要的缩进,导致可读性极低;2. 使用 `strlen()` 和 `malloc()` 函数时,必须包含相应的头文件;3. `write()` 函数的返回值处理不当,建议检查并处理其返回值以确保程序的健壮性。此外,建议在编写代码时遵循良好的编程规范,增加代码的可维护性和可读性。 ... [详细]
  • 在C语言中,指针的高级应用及其实例分析具有重要意义。通过使用 `&` 符号可以获取变量的内存地址,而 `*` 符号则用于定义指针变量。例如,`int *p;` 定义了一个指向整型的指针变量 `p`。其中,`p` 代表指针变量本身,而 `*p` 则表示指针所指向的内存地址中的内容。此外,指针在不同函数中可以具有相同的变量名,但其作用域和生命周期会有所不同。指针的灵活运用能够有效提升程序的效率和可维护性。 ... [详细]
  • 在C语言程序开发中,调试和错误分析是确保代码正确性和效率的关键步骤。本文通过一个简单的递归函数示例,详细介绍了如何编写和调试C语言程序。具体而言,我们将创建一个名为 `factorial.c` 的文件,实现计算阶乘的功能,并通过逐步调试来分析和解决可能出现的错误。此外,文章还探讨了常见的调试工具和技术,如GDB和断点设置,以帮助开发者高效地定位和修复问题。 ... [详细]
  • C语言中如何使用break语句强制跳出for循环及函数 ... [详细]
  • 利用 fopen、fwrite、fread、fseek 和 fclose 实现文件中整型数据的读写操作 ... [详细]
  • 具备括号和分数功能的高级四则运算计算器
    本研究基于C语言开发了一款支持括号和分数运算的高级四则运算计算器。该计算器通过模拟手算过程,对每个运算符进行优先级标记,并按优先级从高到低依次执行计算。其中,加减运算的优先级最低,为0。此外,该计算器还支持复杂的分数运算,能够处理包含括号的表达式,提高了计算的准确性和灵活性。 ... [详细]
  • 无论是计算机专业学生还是非计算机专业的学习者,在掌握C语言的过程中可能会遇到诸多挑战,不清楚从何入手。为此,本文系统地梳理了2019年福建省C语言的核心知识点,并结合最新的技术进展进行了详细总结,旨在为初学者提供全面的学习指导。文章不仅涵盖了基础语法和数据结构,还深入探讨了指针、内存管理和算法优化等高级主题,帮助读者快速提升编程能力。 ... [详细]
  • 深入解析C语言中的动态规划算法:以背包问题为例
    本文深入探讨了C语言中动态规划算法的应用,以经典的背包问题为例进行详细解析。通过实例分析,展示了如何利用动态规划解决复杂优化问题,并提供了高效的代码实现方法。文章不仅涵盖了算法的基本原理,还讨论了其在实际编程中的应用技巧和优化策略,为读者提供了全面的理解和实践指导。 ... [详细]
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
  • ### 优化后的摘要本文对 HDU ACM 1073 题目进行了详细解析,该题属于基础字符串处理范畴。通过分析题目要求,我们可以发现这是一道较为简单的题目。代码实现中使用了 C++ 语言,并定义了一个常量 `N` 用于字符串长度的限制。主要操作包括字符串的输入、处理和输出,具体步骤涉及字符数组的初始化和字符串的逆序操作。通过对该题目的深入探讨,读者可以更好地理解字符串处理的基本方法和技巧。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • Python多线程编程技巧与实战应用详解 ... [详细]
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社区 版权所有