gpt4 book ai didi

java - 将 C 转换为 Java - 指针查询

转载 作者:行者123 更新时间:2023-11-30 06:33:39 27 4
gpt4 key购买 nike

我正在转换一个解析文本字符串并生成人类可读 o/p 的 C 程序。

快完成了,但是在理解其中的差异时遇到了问题

*char_ptr++   


char_ptr-- 中的

 token[i++] = c = toupper(*char_ptr++);
if (c == '\0')
{
char_ptr--;
return( 0 );
}

我认为 *char_ptr++ 将有效地指向“字符串”中的下一个字符是否正确?如果是这样,char_ptr-- 做什么?

谢谢。

最佳答案

*char_ptr++视为:

char tmp = *char_ptr;
char_ptr++;
c = toupper(tmp);

所以它有效地获取了当前字符,并将指针前进了一个。因为 ++ 运算符的优先级高于一元 *,所以这样的表达式按 *(char_ptr++) 的顺序求值。

首先应用增量,但由于后缀 ++ 运算符返回操作之前的结果,因此 * 解引用运算符应用于旧地址。

char_ptr-- 只是将指针减一。

关于java - 将 C 转换为 Java - 指针查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7755630/

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