#include using namespace std; int main() { char ci[50]; cin.getline(ci,50); char p1[25]; int i=0,j=0; while(ci[i]!='\0') { p1[j]=ci[i]; i=i+2; j=j+1; } p1[j]='\0'; cout<<p1<<endl; return 0; }
改成这样就好了,之前i+2会正好跳过结束符,导致循环错误
#include <bits/stdc++.h>
using namespace std;
int main()
{
char ci[50];
cin>>ci;
char p1[25];
int i=0,j=0;
while(i<strlen(ci))
{
p1[j]=ci[i];
i=i+2;
j=j+1;
}
p1[j]='\0';
cout<<p1<<endl;
return 0;
}
//Coheifnia
#include <bits/stdc++.h>
using namespace std;
int main()
{
char ci[50] = {0};
cin>>ci;
char p1[25] = {0};
int i=0,j=0;
for(i=0;ci[i] != '\0';i++)
{
if(i%2==0)
p1[j++] = ci[i];
}
cout<<p1<<endl;
return 0;
}