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 關注
- 776 瀏覽
添加回答
舉報
0/150
提交
取消