请各位高手帮我解决下C#中的这道题目,尤其是帮我解释下这b=a++-1;是什么意思,谢谢了

usingsystem;publicclassIncrement2{PublicstaticvoidMain(){inta,b;a=b=1;b=a/++b;Console... using system;
public class Increment2
{
Public static void Main()
{
inta,b;
a=b=1;
b=a/++b;
Console.WrintLine("a={0}",a);
Console.WrintLine("b={0}",b);
b=a++-1;
Console.WrintLine("a={0}",a);
Console.WrintLine("b={0}",b);
}
}
展开
 我来答
emdgp38
2011-03-30 · TA获得超过1826个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:388万
展开全部
输出:1020
第一个输出,就是a的初始值,为1
第二个输出:计算后的b。b=a/++b,先计算++b = 2,然后a/++b = 1/2 = 0,输出0
第三个输出:计算后的a,a++优先级高,因此a = 1 + 1 = 2,输出2
第四个输出:计算后的b。b = a++-1,a++的意思是不把a+1的值计入计算(先计算b = a - 1,再计算a ++),因此b = 1 - 1 = 0,输出0
zheng_zhiwen12
2011-03-30 · TA获得超过543个赞
知道小有建树答主
回答量:265
采纳率:100%
帮助的人:102万
展开全部
inta,b; //定义两个变量
a=b=1; //将它们都赋值为1
b=a/++b;//进行运算,过程为:先算++b=2 再算a/2=0.5 再将b=0.5 这是根据运算符的优先级算出来的
Console.WrintLine("a={0}",a);//输出a,值为1
Console.WrintLine("b={0}",b);//输出b ,值为0.5
b=a++-1; //进行运算 先算a++=2 2-1=1 b=1;
Console.WrintLine("a={0}",a) ;输出a,值为2因为刚才进行了++运算
Console.WrintLine("b={0}",b);//b为1,因为b重新进行了赋值
明白了不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老冯文库
2011-03-31 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8733

向TA提问 私信TA
展开全部
你的代码写错了吧:
using System;
public class Program2
{
public static void Main()
{
int a, b;
a = b = 1;
b = a / ++b;
Console.WriteLine("a={0}", a);
Console.WriteLine("b={0}", b);
b = a++ - 1;
Console.WriteLine("a={0}", a);
Console.WriteLine("b={0}", b);
}
}

a = b = 1;
等价于
a = 1;
b = 1;

b=a/++b; ++(一元运算符)的优先级高于“/”(二元运算符)
等价于
b = b + 1; // b = 2
b = a / b ; // b = 1 / 2 = 0,因为b是整型

b=a++-1; ++(一元运算符)的优先级高于“-”(二元运算符)
等价于
b = a - 1; // b = 1 - 1 = 0
a = a + 1; // a = 1 + 1 = 2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式