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])) 展开
 我来答
haolizhong4924
2011-11-27 · TA获得超过5217个赞
知道小有建树答主
回答量:600
采纳率:50%
帮助的人:266万
展开全部
您的if后面估计少了一个前括号(下文某处也少了一个后括号?)。
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型,按运算符^号的要求都是非法的。“异或”只能对整数形式的数据进行。
_孤单与寂寞_
2011-11-27 · TA获得超过111个赞
知道答主
回答量:56
采纳率:0%
帮助的人:28.9万
展开全部
你注意看下括号的个数,我把它隔开了,你注意看下区别:

If( ( ( 4.2 * avtotle[i] + totle[i] ) > Data[k] ) && ( ( totle[i]- ( 4.2 * avtotle[i] ) )<Data[k] ) )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤松独海
2011-11-27 · TA获得超过1513个赞
知道大有可为答主
回答量:1220
采纳率:0%
帮助的人:492万
展开全部
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'
怎么回事
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式