回 帖 发 新 帖 刷新版面

主题:请大神告诉我为什么?

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    char str1[81],str2[81],str3[81];
    cout<<"Input str1:";
    cin.getline(str1,80);
    int i=0,idx2=0;
    while (str1[i]&& !(str1[i]>='A'&&str1[i]<='Z')&& !(str1[i]>='a'&&str1[i]<='z'))
    i++;
  
    while( str1[i])
       str1[idx2++]=str1[i++];  //就是这里执行不出了的 
       str2[idx2]='\0';
       cout<<"str2="<<str2<<endl;
       idx2--;
    while (idx2>=0&& !(str1[idx2]>='A'&&str1[idx2]<='Z')&& !(str1[idx2]>='a'&&str1[idx2]<='z'))
    idx2--;
    for(i=0;i<=idx2;i++)
      str3[i]=str2[i];
    str3[i]='\0';              
    cout<<"str3="<<str3<<endl;   //还有这里
    system("PAUSE");
    return EXIT_SUCCESS;
}
我输入一串字符和数字 实现不了功能 只显示str2=    str3=   
功能是str2 是去掉str1前面的非字母  str3是去掉str2后面的非字母,请大神们指点下 谢谢

回复列表 (共1个回复)

沙发

str1[idx2++]=str1[i++];  
我认为你确实是想写 str2[idx2++]=str1[i++];  对不对

我来回复

您尚未登录,请登录后再回复。点此登录或注册