要使用返回值切换字符,我可以执行以下操作:
char toggle_char(char my_char) {
return my_char ^ 0x20;
}
int main(void) {
char my_char = 'a';
my_char = toggle_char(my_char);
printf("My Char: %c\n", my_char);
my_char = toggle_char(my_char);
printf("My Char: %c\n", my_char);
return 0;
}
如何使用就地指针执行相同的操作?例如,我可以这样做:
int main(void) {
char my_char = 'a';
printf("My Char: %c\n", my_char);
toggle_char(my_char);
printf("My Char: %c\n", my_char);
}
最佳答案
就地更改意味着您在同一地址位置工作,而不是使用其他一些临时地址变量。
因此,这里需要将变量的地址传递给函数,函数签名必须将指向变量的指针作为参数。
你的功能是
void toggle_char(char *my_char) {
*my_char ^= 0x20;
}
你需要称之为
toggle_char(&my_char);
关于c - 使用指针切换字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57780491/