using system;
class Program
{
public static void main()
{
int a = 200,b;
a-(b=100);
}
}
以上程序是否发出错误?如果是这样,为什么?我不在可以执行代码的环境中。
答案 0 :(得分:5)
即使没有 (本地) 编译器,您也可以进行检查:
prog.cs(8,4):错误CS0201:只能将赋值,调用,递增,递减和新对象表达式用作语句 编译失败:1个错误,0个警告
这是我编写代码时最接近的代码 - http://ideone.com/FPZJq:
using System;
class Program
{
public static void Main()
{
int a = 200,b;
int c = a-(b=100);
}
}
错误:
a-(b=100)
不是C#中的有效语句。许多语言允许这样的空语句(如2;
),但不允许这样。using system;
应写为using System;
main
应写为Main
回答你的问题:你的代码没有给出运行时错误 - 它甚至都没有效。但是,它会产生几个编译错误。
答案 1 :(得分:2)
表达式a - (b = 100)
不是有效语句,因此代码不会编译。
答案 2 :(得分:2)
它无法编译。 a-(b=100);
不是有效的陈述,因为:
“只有赋值,调用,递增,递减和新对象表达式才能用作语句”
答案 3 :(得分:2)
它在方法的第二行给出了这个编译器错误,因为你有一个试图用作语句的表达式:
只能将赋值,调用,递增,递减和新对象表达式用作语句。
如果将表达式的值赋给变量,则编译:
a = a - (b = 100);
答案 4 :(得分:1)
A-(B = 100)
这没有任何编译和工作 C和C ++都有错误,只是尝试过 进行。
我没有进入C#所以不能肯定地说这个但是相信我C,C ++根本没有错误或警告,只需编译并且工作正常。
答案 5 :(得分:0)
我认为至少它会给出错误:变量b未定义。