gpt4 book ai didi

c - 为什么 *foo++= *++foo 可能未定义?

转载 作者:行者123 更新时间:2023-12-02 06:20:56 25 4
gpt4 key购买 nike

它应该将当前字符设置为下一个字符。例如:

while( *foo ) { 
if(baa(*foo)) *foo++ = *++foo;
foo++;
}

但是我得到以下错误:

error: operation on ‘foo’ may be undefined [-Werror=sequence-point]
cc1: all warnings being treated as errors

谁能解释一下这是为什么?那不是有效的 C 语法?

最佳答案

您在赋值的两边递增 foo,中间没有序列点。这是不允许的;您只能在序列点之间修改一次值。

关于c - 为什么 *foo++= *++foo 可能未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9951993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com