
f2()中,q是指针,所以,在函数中,可以改变其中的内容,进而实参中的内容也就发生了变化
p=&s[1]
//p->name="LisiGuo"
p->num=20042
f1(p->name,p->num)
会改变p->name("SunDan"),而p->num不变
f2(&s[0])
s[0]中的内容,全部由子函数中的数据所替换,变为:"SunDan",20044
所以,输旅棚出结果为:
SunDan
20042
SunDan
20044
首先,可以告诉你,第一个程序是运行不了的。原因是,c1="a"此处的值为字符串,如果你的本意是c1 = 'a'的话,那么该程序运行结果是>a b究其原因,%c表轿高碰示格式化打印字符。闭谈实际上,每个数字(似乎到8万多)都对应一个字符。
第二个程序的运行结果是>, ?
这里是int 转化为char,我们知道,一个char是8位,最大表示127(最高念旁位是符号位),300的超出部分直接丢弃。1 0010 1100 ---->00101100==44 ==',' 同理,我们可以得到400对应的?
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)