Я написал простую программу на С++ для изменения строки. Я храню строку в массиве символов. Чтобы изменить строку, я использую тот же массив символов и временную переменную, чтобы поменять символы массива.
#include<iostream>
#include<string>
using namespace std;
void reverseChar(char* str);
char str[50],rstr[50];
int i,n;
int main()
{
cout<<"Please Enter the String: ";
cin.getline(str,50);
reverseChar(str);
cout<<str;
return 0;
}
void reverseChar(char* str)
{
for(i=0;i<sizeof(str)/2;i++)
{
char temp=str[i];
str[i]=str[sizeof(str)-i-1];
str[sizeof(str)-i-1]=temp;
}
}
Теперь этот метод не работает, и я получаю NULL String в результате выполнения программы.
Итак, я хочу знать, почему я не могу приравнивать массив символов, почему эта программа не работает. И каково решение или трюк, которые я могу использовать для работы одной и той же программы?