我有一条显示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;
}
最佳答案
使用for
在reverse
函数中启动i = 1
循环。然后再添加一条语句reversedString[i] = '\0'
,以在字符串后附加\0
。
关于c++ - 无法在我的代码中使用char *字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20124858/