
前面两个不解释你应该都懂吧,后面两个很简单的,是引用
变量哈,你把name传到方法中去了后,试用了name = new StringBuffer("yanfan")这样就相当于在changeName中的name重新引用了一个新的
地址,changeName中的name和main中的name是不同的哈,只是引用地址相同,changeName里面相当于是一个局部定义了一个新的变量而已,而nickName 并没有重新new,则在changeName执行append的时候是表示在引用的地址后面加了1,所以只要只要那个地址的变量的值都变了,所以nickName 就变了这个题目是if的选择顺序执行下来!按照你这样输出来会是x=0;y=9.5;
你的if有三个编译器不知道你想要的是哪一个!因为你的三个if处在一个并列的位置上面!如果你想输出x=-12.34;y=9.5;还有你的语法有点小错误就是x是double类型不是float;可以这样做:#include<stdio.h>
int main(void)
{float y=9.5
double x
x=-12.34
if (x>0) {y=1
if (x=0) {y=0
if (x<0) y=-1}}
printf("x=%f\ny=%f",x,y)
return 0}
希望可以帮到你!
评论列表(0条)