主题:请大神告诉我为什么?
#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后面的非字母,请大神们指点下 谢谢
#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后面的非字母,请大神们指点下 谢谢