C语言用指针作函数参数

C语言用指针作函数参数,第1张

选D

因为第一个参数是地址传递,fun(&b,a)中传入a字符。*c=*c+1将c的值变为b字符。主函数的值改变。

第二个参数是值传递,所以在函数中d的值为B字符。但是并不影响主函数的值,所以主函数输出a的值是A。b的值是b。

char pt(char *s)

{

//定义一个局部的char型指针 pr

char *pr

//将指针s中保存的地址赋值给指针pr,这样指针pr指向的地址和指针s指向的地址相同

pr=s

//判断指针pr指向的地址中保存的值是否为非零

while(*pr)

//如果非零,将指针pr指向的地址中保存的值进行自加 *** 作,并使用putchar函数输出

putchar(*pr++)

}

char pt(char *s)

{

//这个没有定义一个局部的指针,而是直接使用了形参指针s,直接对指针s指向的地址中保存的值进行判断是否非零

while(*s)

//如果非零,将指针s指向的地址中保存的值进行自加 *** 作,并使用putchar函数输出

putchar(*s++)

}

两个函数的功能没什么区别,所执行的 *** 作都是一样的,只不过是一个在函数体内使用了局部指针变量,一个没有使用而已。

void fun(char *c,int d)

使用指针作为参数时,指针变量c指向了变量b,当c变化时,b也会变化。这里*c=*c+1,是*c由a变为b。

第二个参数d变化时,a并不会变化。

%e是一种转换说明符号,表示浮点数,并且采用e计数法。

比如2.12e2


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

原文地址: http://outofmemory.cn/yw/11504204.html

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

发表评论

登录后才能评论

评论列表(0条)

保存