in the below code:
using namespace std;
void swap(char *x,char *y){
char tmp = *x;
*x = *y;
*y = tmp;
}
int main(){
char a[]="ab";
//char *a ="ab";
swap( (a+0),(a+1) );
cout<<a;
return 0;
}
when the array a is initialized as a[]="ab", the swap function works, but when it is initialized as *a="ab", it throws segmentation fault, can anyone say why?