【发布时间】:2020-07-02 14:48:02
【问题描述】:
这可能是基本问题,但我似乎找不到解决方案。
我有这样的代码:
int main(){
char val = 'I';
function(&val);
return 0;
}
和功能:
void function(char* val){
if (*val == 'I') {
*val = 'S';
}
}
但是函数似乎将 char* 解释为字符数组,而我只需要访问单个字符,但我还需要在该函数中更改它的值。我可以为此使用的最简单的解决方案是什么?
谢谢。
【问题讨论】:
-
这段代码看起来不错。您是否验证了输出?调用函数后
val应该是S。 -
However function seems to interpret char* as array函数是怎么表达的? -
问题出在其他地方。您没有向我们展示实际代码。因此,我是 DV-ting 并投票接近 godbolt.org/z/jzVVxX
-
根据 OP 的回答,他们有一些涉及问题中未显示的各种参数声明的错误,因此问题应该关闭,因为它没有充分呈现。
标签: c function pointers char edit