case 1:
for(i=0;i<s1;i++)
{
if(st1[i]==(char)token)
break;
}
if(i==s1)
{
st1[s1++]=(char)token;
str4+=' ';
str4+=token;
}
break;第一次循环后,s1=1,并存入一个,然后读第二个时,i=0,第一个if判断不相同。就直接跳到下一个if判断,我原来想法是for循环结束再下一个if判断,怎么解决?
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
问题一:阁下的想法和初始想法不符合啊
for(i=0;i<s1;i++)
{
//判断原数组中是否含有相同元素
//含有则退出
if(st1[i]==(char)token)
break;
}
if(i==s1)//for循环未经过break,所以 i==s1 要求:我原来想法是for循环结束再下一个if判断,怎么解决?
额。。
增加个标志怎么样?
case 1:
bool flag =true;
for(i=0;i<s1;i++)
{
if(st1[i]==(char)token)
flag=false;
}
if(flag)
{
st1[s1++]=(char)token;
str4+=' ';
str4+=token;
}
break;
如何
- 1 回答
- 0 关注
- 760 浏览
添加回答
举报
0/150
提交
取消