why does the below function (f) work when i put cout
in the function body but does't work when
i put cout
after the function call
#include <iostream>
using namespace std;
void f(string str)
{
int size=str.size();
for (int i=0;i<size/2;i++)
{
char temp=str[i];
str[i]=str[size-i-1];
str[size-i-1]=temp;
}
}
int main ()
{
string a="abcd";
f(a);
cout<<a; //output: abcd
}
#include <iostream>
using namespace std;
void f(string str)
{
int size=str.size();
for (int i=0;i<size/2;i++)
{
char temp=str[i];
str[i]=str[size-i-1];
str[size-i-1]=temp;
}
cout<<str;
}
int main ()
{
string a="abcd";
f(a); //output: dcba
}
I am new to programming so i don't know concepts like pointers which i am guessing is the problem here.