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

2025-04-14 19:40:12
推荐回答(3个)
回答1:

sp="to";

这里的"to"是一个字符串常量,就跟int类型常量是一样的(比如写一个100),上面那句话的意思是sp指向"to"这个字符串常量的地址。

也就是说sp先指向数组s的地址,后面又变更成字符串常量"to"的地址。数组s没有发生变化,所以还是打印goodgood!了。

回答2:

sp是指针,存的是地址值
sp="to" ; //这是将常量字符串"to"的地址存储到sp中!

sp +=2 ;指向了第二个o的位置
puts(s) ; //s没动,还是数组首地址,所以,输出goodgood!

回答3:

程序从头到尾就没有对字符数组s进行赋值,当然最后输出s时候是goodgood!

sp="to"; sp指针指向字符串常量"to" ,估计是当摆设的