为啥我写反了就不行:string boy="秀丽"; //男孩的名字 string girl="伟强"; //女孩的名字 string temp; //中间的变量boy=temp; //把男孩的名字赋值给temp girl=boy;//把女孩的名字赋值给男孩temp=girl;//把temp中的名字赋值给男孩console.writeline("男孩叫"+boy+"女孩叫"+girl);(我的解释:先把boy给了temp,然后boy就空了,再把girl给boy,然后girl就空了,最后把temp给grill, 这就结束了。 为什么就是报错。 理应的说右边不是赋值吗? 就等于上图的牛奶,AB(等于这里中间的变量)C, A放入B,A杯就空了,然后C杯就放入A,C就空了,然后再把B放入C。) 然后我题就是这样做的,就是错的。求解释
赋值语句中等号的左边是被赋值的变量,等号右边是赋值变量,即右向左传,例如:把boy值赋给temp当写成temp=boy;
你好,首先说一点,赋值= 是把等号右边的值,赋值给等号左边的变量,如果你问我为什么是把右边的值赋值给左边,而不是把左边的值赋值给右边?我只能告诉你,这是一个大家约定好的规则,就像 “红灯停,绿灯行”,而不是“红灯行,绿灯停”;同时在c#,c,java等编程语言中,也是这样规定的。
再一点,如果把a的值赋值给b,a的值是不改变的,你可以暂时先把“赋值”当成“复制”。下面看个小例子:
string a1 = "one"; string a2 = "two"; Console.WriteLine("a1的值为:" + a1 + " a2的值为: " + a2); //现在把a1的值 赋值给a2, 这样a2 的值 就会变化了 a2 = a1; //再次 输出,看下a1,a2的值是否变化 Console.WriteLine("a1的值为:" + a1 + " a2的值为: " + a2);
运行结果为:,会发现,a2的值变了,a1的值没有变,也没有为空。
最后说下,2个值交换值得写法,你的主要思路是对的,主要是对赋值还没有完全掌握而已。把之前代码中赋值语句两边调换一下就可以了。如果还有不懂得地方,可以继续回复我。如果觉得回答还不错的话,麻烦采纳一下哈!