一段if语句里能含一个for循环么

来源:百度知道 编辑:UC知道 时间:2024/07/04 06:58:47
有这么一程序
就是先判断replyBuf是什么值,然后对应作一下加法,校验最后一位是不是前几位的加法和。这样写可以么, 请指正一下 ,拜托啦!急!!!
char replyBuf[8] ;
int MSG_SIZE ;
if (replyBuf="1003026")
{
char sum = 0;
for(int j=0; j<MSG_SIZE-2; j++)
{
sum += replyBuf[j] ;
}
return (sum==replyBuf[MSG_SIZE-1]); }

if (replyBuf="1007008")
{
char sum = 0;
for(int j=0; j<MSG_SIZE-2; j++)
{
sum += replyBuf[j];
}
return (sum==replyBuf[MSG_SIZE-1]);

}

if (replyBuf="2000079")
{
char sum = 0;
for(int j=0; j<MSG_SIZE-2; j++)
{
sum += replyBuf[j] ;
}
return (sum==replyBuf[MSG_SIZE-1]);

else printf(ERROR);

除了字符串比较,其他没有什么问题,if里面可以套for,没什么问题

你做的是C程序吧,字符串的比较不能用=,应该用strcmp(x,y)
当x和y相等的时候函数将返回0
所以if (replyBuf="1003026")应写为if(strcmp(replyBuf,"1003026")==0)
后边的if同理,
要加include<string.h>

2