#include <stdio.h>
int change_char( char *str, const char a, const char b) {
int n = 0;
if ( str ) {
while ( *str ) {
if ( *str == a ) {
*str = b; // Can I modify the value pointed by the pointer?
++n;
}
++str; // Can I modify the pointer?
}
}
return n;
}
int main(void) {
char *test;
change_char(test, 'o', 'X');
printf("%s\n",test
); // it will output HellX wXrld!
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgY2hhbmdlX2NoYXIoIGNoYXIgKnN0ciwgY29uc3QgY2hhciBhLCBjb25zdCBjaGFyIGIpIHsKICAgIGludCBuID0gMDsKICAgIGlmICggc3RyICkgewogICAgICAgIHdoaWxlICggKnN0ciApIHsKICAgICAgICAgICAgaWYgKCAqc3RyID09IGEgKSB7CiAgICAgICAgICAgICAgICAqc3RyID0gYjsgLy8gQ2FuIEkgbW9kaWZ5IHRoZSB2YWx1ZSBwb2ludGVkIGJ5IHRoZSBwb2ludGVyPwogICAgICAgICAgICAgICAgKytuOwogICAgICAgICAgICB9CiAgICAgICAgKytzdHI7ICAvLyBDYW4gSSBtb2RpZnkgdGhlIHBvaW50ZXI/CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIG47Cn0KCmludCBtYWluKHZvaWQpIHsKCWNoYXIgKnRlc3Q7Cgl0ZXN0ID0gbWFsbG9jKDEzKTsKCXN0cmNweSh0ZXN0LCJIZWxsbyB3b3JsZCEiKTsKCWNoYW5nZV9jaGFyKHRlc3QsICdvJywgJ1gnKTsKCXByaW50ZigiJXNcbiIsdGVzdCk7ICAgLy8gaXQgd2lsbCBvdXRwdXQgSGVsbFggd1hybGQhCgoJcmV0dXJuIDA7Cn0K