永发信息网

C语言程序如下,输出为什么是goodgood!????

答案:3  悬赏:50  手机版
解决时间 2021-01-09 12:03
C语言程序如下,输出为什么是goodgood!????
最佳答案
程序从头到尾就没有对字符数组s进行赋值,当然最后输出s时候是goodgood!

sp="to"; sp指针指向字符串常量"to" ,估计是当摆设的追问是不是sp指向了goodgood!第二个o

然后又指向了“to”的t,之前指向的o就作废了???追答#include
#include
main()
{  char s[20]="goodgood!",*sp=s;
  sp=sp+2;
      sp="to";                      //sp即使在之前自加了2,最后却指向了“to”,那么sp的值是to
      puts(s);
      puts(sp);  //输出是to
}
全部回答
sp是指针,存的是地址值
sp="to" ; //这是将常量字符串"to"的地址存储到sp中!
sp +=2 ;指向了第二个o的位置
puts(s) ; //s没动,还是数组首地址,所以,输出goodgood!追问是不是sp指向了第二个o
然后又指向了“to”的t,之前指向的o就作废了???追答int a=5, i=a; 先给i一个a( 5 )
i=6; 再给i一个6,i与a就没关系了,但a=5并没有消失。
sp="to";
这里的"to"是一个字符串常量,就跟int类型常量是一样的(比如写一个100),上面那句话的意思是sp指向"to"这个字符串常量的地址。
也就是说sp先指向数组s的地址,后面又变更成字符串常量"to"的地址。数组s没有发生变化,所以还是打印goodgood!了。追问是不是sp指向了goodgood!第二个o
然后又指向了“to”的t,之前指向的o就作废了???追答之前的o作废是???这个作废怎么理解?
sp 以前指向 从goodgood!第二个o的地址
更改为 “to”的t所在的地址
只是指向的地址变化了。追问我意思不是o作废,而是sp不再指向它了。。追答对没错,就是这个意思。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么坐直腰脊柱会疼
枕套和枕席意思一样吗?枕席是什么意思
中国移动(任县辛店营业厅)地址在什么地方,我
北戴河南戴河在一个方向吗?
现代汉语词典最新版本重庆版
眼影的常识篇
小学生四年级作文记忆深处的那份感动
油墨对人的坏处
大家歌罢掉头东这首诗的意思是什么
单选题下列不属于全球生物多样性面临威胁的是
河北移动(建设路与人民路交口恒旺超市)地址在
蔡骏的天机里:小方,屠男,厉书,究竟是怎么死的
猫鼬可以当宠物养吗?
易县哪里有卖花生的
很努力的控制眼睛,可还是被同学看到斜视了,
推荐资讯
三星手机c5怎么强制开机
请问例3中画黑线的这一步怎么看出来的
三少爷健康早餐在三门峡虢国路哪里
0-27数字出现概率怎么算
这张检验报告对吗
我的联通卡手机怎么别人打电话给我老是打不通
大连市高考招生办
大四快毕业的学生还可以考研吗?
诺贝尔奖项中,终于有了中国本土的作家出现在
有没有人啊,我想谈谈
扁加偏旁组字
难看吗??
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?