C语言程序解释

C语言程序解释,第1张

答案是3 2 3 1 2

这里面涉及到几个知识点:

在子函数中用static修饰的变量,只会进行一次初始化,即  static int b=3只会在第一次调用f函数时才会执行,后面的调仿亮祥用都直接跳过这句话。

在子函数中,如果局部变量名和全局变量名重名,默认优先使用局部变量

在子函数中的局部变量只存在于子函数里面,调用完子函数后,内部的局部变量会被全部销毁

全局变量如果没有被初始化,默认为0。

因此,对于这道题,第一次调键肆用f(++a)时,备搏传入的值为1(因为a先加1,再传入值),此时的全局变量a变为1了。然后进入子函数里面,将传入的1赋值给局部变量a,局部变量a等于1。子函数里面的a与全局变量a重名,因此优先使用局部变量a,a+=2实际上是局部变量的a,全局变量a没有任何变化。然后初始化b=3。执行--b后,b=2。因此首先输出3,2。

第二次调用f(a++)函数时,传入的值为1,然后再将全局变量a加一,此时的全局变量a变为2了。然后进入子函数里面,将传入的1赋值给局部变量a,局部变量a等于1。然后跳过b的初始化,局部变量的a+=2,所以a=3,执行--b后,b=1。因此首先输出3,1。

最后的printf输出的时全局变量a,为2。

定义字符数组a,和字符指针p,a实际上就是字符数组123456789的第一个字符的地址指针,然后将a赋值给P。

之后判断改槐p是否存在。然后执行稍后的 *** 作。p++是指指向下一个位置,一开始指着1,现在就是指到2.

while循环里,先判断*p是否存在,即P指针,是否有指向一个有意义的东西。(其实,也可以知道没意义的东西,但是启模,这里主要就是这个意思)

后面的,*p指的核旁友即是p指针指向的东西。而p++就是p指向下一个位置。基本就是这样了。

通用编程语言c

c语言是美国at&t(电报与电话)公司为了实现unix系唤判岁统的设计思想而发展起来的语言工具。c语言的主要特色是兼顾了高级语言和汇编语言的特点,简洁、丰富、可移植。相当于其他高级语言子程序的函数是c语言的补充,每一个函数解决一个大问题中的小任务,函数使程序模块化。c语言提供了结构式编程所需要的各种现代化的控制结构。

c语言是一种通用编程语言,正被越来越冲迅多的计算机和睁用户所推崇。使用c语言编写程序,既感觉到使用高级语言的自然,也体会到利用计算机硬件指令的直接,而程序员却无需卷入汇编语言的繁琐。

c语言可以用来制作病毒,因为病毒也是程序.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12421903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存