Ays*_*yse 0 c++ windows string char
我有一个显示char*字符串的声明.但是当我尝试cout一个char*字符串时,我在屏幕上看不到任何内容.以下是我的代码:
char* reverseString(char *inputString)
{
int i=0, length=0;
char *reversedString = (char*)malloc(100);
strcpy(reversedString,inputString);
while(inputString[i]!='\0')
{
i+=1;
length+=1;
}
for(int i=0;i<length;i++)
{
reversedString[i]= inputString[length-i];
}
cout<<endl<<"In Function, Reversed String: "<<*reversedString<<endl;
return reversedString;
}
int main()
{
char string[100],*reversedString;
cout<<"Enter string: ";
scanf("%s",string);
cout<<"\nString is: "<<string;
reversedString = reverseString(string);
cout<<endl<<"In Main, Reversed String: "<<*reversedString<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是因为你反转整个字符串,包括终止'\0'字符.所以在反向字符串中,第一个字符是字符串终止符(最后一个是原始字符串的第一个字符,所以如果你跳过"反转"终止符,那么字符串就会被终止).
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |