基本上它告诉我tal2--;否则tal1 = 56;这是一个错误“无效的表达其他”,怎么回事?
干杯。
using System;
class Program
{
static void Main(string[] args)
{
int tal1, tal2;
int slinga;
tal2 = Convert.ToInt32(Console.ReadLine());
for (slinga = 0; slinga < 2; slinga++)
{
if (tal1 == 56)
Console.WriteLine(Addera(slinga, tal1));
tal2--;
else tal1 = 56;
}
}
static int Addera(int tal1, int tal2)
{
return tal1 + tal2;
}
}
答案 0 :(得分:3)
如果“if子句”必须跨越多行代码,则必须用大括号“{}”将其包围。将您的代码更改为:
using System;
class Program
{
static void Main(string[] args)
{
int tal1, tal2;
int slinga;
tal2 = Convert.ToInt32(Console.ReadLine());
for (slinga = 0; slinga < 2; slinga++)
{
if (tal1 == 56)
{
Console.WriteLine(Addera(slinga, tal1));
tal2--;
}
else
tal1 = 56;
}
}
static int Addera(int tal1, int tal2)
{
return tal1 + tal2;
}
}
答案 1 :(得分:0)
以下代码行错误
if (tal1 == 56)
Console.WriteLine(Addera(slinga, tal1));
tal2--;
else tal1 = 56;
您需要将其更新为
if (tal1 == 56){
Console.WriteLine(Addera(slinga, tal1));
tal2--;
}
else {
tal1 = 56;
}
原因:对于多行{ }
条件
if-else
then语句和else语句都可以包含一个语句或括在大括号({})中的多个语句。对于单个语句,大括号是可选的,但建议使用。
所以你需要{ }
,因为它是多线的
答案 2 :(得分:0)
更改
if (tal1 == 56)
Console.WriteLine(Addera(slinga, tal1));
tal2--;
else tal1 = 56;
到
if (tal1 == 56)
{
Console.WriteLine(Addera(slinga, tal1));
tal2--;
}
else tal1 = 56;
{}告诉编译器这些括号之间的代码是同一逻辑分支的一部分。