快来看 一个奇怪的问题++i与i++的区别 本帖最后由 n530956064 于 2013-02-04 17:01:21 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这循环代码,结果是一样的下面这两句会不一样int a=++x;int a=x++; 楼主是想问下面这两个吧下面这两个输出结果确实不同 class Program { static void Main(string[] args) { for (int x = 1; ++x <= 10;) { Console.WriteLine(x); } } } class Program { static void Main(string[] args) { for (int x = 1; x++ <= 10; ) { Console.WriteLine(x); } } } int x=1;怎么从2开始了?你这不是都从1开始的吗? 循环里一个分号就是一句代码单独一句代码 ++x;和x++;都等价于x=x+1; 在for循环中,单步调试可以看到,先是执行赋值语句x=1,然后判断是否超出范围,x<=10。如果没有超出范围,则执行 Console.WriteLine(x);语句。最后执行x++或者++x,所以,在for循环中这两个代码是一样的。牛哥结贴吧 你要想体现不同,用下面的代码: public static void Test1() { for (int x = 1, j = 1; x <= 10; ++x) { Console.WriteLine(j++); } } public static void Test2() { for (int x = 1, j = 1; x <= 10; ++x) { Console.WriteLine(++j); } }其实说简单点:j++ 就是先对外提供j(此处是给WriteLine做参数),再执行++运算; ++j 就先执行++运算,再对外提供j。 class Program { static void Main(string[] args) { for (int x = 1; x <= 10; ) { Console.WriteLine(++x); } } } class Program { static void Main(string[] args) { for (int x = 1; x <= 10; ) { Console.WriteLine(x++); } } }这结果就不同了。一样是因为x的计算是在执行之后才自加的。 楼主要搞清for循环是怎么运算的啊1.循环变量赋值2.判断循环条件是否成立3.执行循环体4.计算循环变量 csdn每天都能看见++i和i++这样问题的帖子,伤不起啊还有String和Stringbuffer的帖子。。 求教:C#如何调用C++ 动态库 求助XML排版遇到的问题 C# 登录页面 之前用了一年半都没错,最近报错了 怎么用jquery写一个下拉获取明天后天大后天的控件呢 ajax 能用在webcontrol 使用吗 郁闷中。。。。。。望大家帮帮忙 请问一个基础的代码问题,很多人说了解没用,但是希望高手能指点我。 算法请教 请问vb里的picture1.ScaleHeight在C#里变成什么了? VS2017的控件选择器不见了 C#如何根据动态时间进行操作 新建类如何控制窗体中的label
int a=++x;
int a=x++;
下面这两个输出结果确实不同 class Program
{
static void Main(string[] args)
{
for (int x = 1; ++x <= 10;)
{
Console.WriteLine(x);
}
}
} class Program
{
static void Main(string[] args)
{
for (int x = 1; x++ <= 10; )
{
Console.WriteLine(x);
}
}
}
单独一句代码 ++x;和x++;都等价于x=x+1;
如果没有超出范围,则执行 Console.WriteLine(x);语句。
最后执行x++或者++x,所以,在for循环中这两个代码是一样的。
牛哥结贴吧
{
for (int x = 1, j = 1; x <= 10; ++x)
{ Console.WriteLine(j++); }
} public static void Test2()
{
for (int x = 1, j = 1; x <= 10; ++x)
{ Console.WriteLine(++j); }
}其实说简单点:j++ 就是先对外提供j(此处是给WriteLine做参数),再执行++运算;
++j 就先执行++运算,再对外提供j。
{
static void Main(string[] args)
{
for (int x = 1; x <= 10; )
{
Console.WriteLine(++x);
}
}
}
class Program
{
static void Main(string[] args)
{
for (int x = 1; x <= 10; )
{
Console.WriteLine(x++);
}
}
}
这结果就不同了。
一样是因为x的计算是在执行之后才自加的。
楼主要搞清for循环是怎么运算的啊1.循环变量赋值
2.判断循环条件是否成立
3.执行循环体
4.计算循环变量