c++语法错误 error C2143: syntax error : missing ';' before '&&'
if((4.2*avtotle[i]+totle[i])>Data[k])&&((totle[i]-(4.2*avtotle[i])<Data[k]))...
if((4.2 * avtotle[i] + totle[i]) > Data[k])&&((totle[i]-(4.2 * avtotle[i] )<Data[k]))
展开
3个回答
展开全部
您的if后面估计少了一个前括号(下文某处也少了一个后括号?)。
if语句的语法格式本应该是:
if (条件) 语句
所以,编译程序分析您的语法时,到了&&处,发现前后括号已经匹配完,认为if语句的“条件”部分已经完了,下面该“语句”部分了。
而“语句”的开头是不可能出现&&的,故编译程序认为你的这个&&不属于这个if语句了。于是编译程序认定你的这个if语句的“语句”部分缺失。而语句部分中最简单的是“空语句”,所以编译程序认为你很可能这里丢了一个“空语句”。空语句的格式就是一个分号。
所以编译程序提示你:
语法错误:在‘&&’之前缺失分号。( syntax error : missing ';' before '&&' )
看来,是编译程序的分析结果,误判了你的错误原因。当然,编译程序一般是不能保证正确分析你的错误原因的,只要提醒你“有错误”就不错了。
if语句的语法格式本应该是:
if (条件) 语句
所以,编译程序分析您的语法时,到了&&处,发现前后括号已经匹配完,认为if语句的“条件”部分已经完了,下面该“语句”部分了。
而“语句”的开头是不可能出现&&的,故编译程序认为你的这个&&不属于这个if语句了。于是编译程序认定你的这个if语句的“语句”部分缺失。而语句部分中最简单的是“空语句”,所以编译程序认为你很可能这里丢了一个“空语句”。空语句的格式就是一个分号。
所以编译程序提示你:
语法错误:在‘&&’之前缺失分号。( syntax error : missing ';' before '&&' )
看来,是编译程序的分析结果,误判了你的错误原因。当然,编译程序一般是不能保证正确分析你的错误原因的,只要提醒你“有错误”就不错了。
更多追问追答
追问
double avtotle[2048];
avtotle[i]=avtotle[i]^(0.5);
C:\Documents and Settings\Administrator\桌面\SampleWinPro\SampleWinPro.cpp(59) : error C2296: '^' : illegal, left operand has type 'double'
C:\Documents and Settings\Administrator\桌面\SampleWinPro\SampleWinPro.cpp(59) : error C2297: '^' : illegal, right operand has type 'const double'
请问,这是怎么回事
追答
错误可能在于运算符^。
你大概是把它当成“乘方”运算了吧?其实C语言的乘方不是这样写的。这个符号^的含义是“异或”,只能对整数形式的数据进行。这两句提示的意思是
^号非法:左运算数是‘double’ '^' : illegal, left operand has type 'double'
^号非法:右运算数是'const double' '^' : illegal, right operand has type 'const double'
您的avtotle[i]^(0.5);中,^号的左运算数avtotle[i]是double型,右运算数(0.5)是const double型,按运算符^号的要求都是非法的。“异或”只能对整数形式的数据进行。
展开全部
你注意看下括号的个数,我把它隔开了,你注意看下区别:
If( ( ( 4.2 * avtotle[i] + totle[i] ) > Data[k] ) && ( ( totle[i]- ( 4.2 * avtotle[i] ) )<Data[k] ) )
If( ( ( 4.2 * avtotle[i] + totle[i] ) > Data[k] ) && ( ( totle[i]- ( 4.2 * avtotle[i] ) )<Data[k] ) )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if 后面再加个( 三个(
追问
double avtotle[2048];
avtotle[i]=avtotle[i]^(0.5);
C:\Documents and Settings\Administrator\桌面\SampleWinPro\SampleWinPro.cpp(59) : error C2296: '^' : illegal, left operand has type 'double'
C:\Documents and Settings\Administrator\桌面\SampleWinPro\SampleWinPro.cpp(59) : error C2297: '^' : illegal, right operand has type 'const double'
怎么回事
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询