gpt4 book ai didi

c - 我错过了指针的要点吗?

转载 作者:太空狗 更新时间:2023-10-29 15:42:40 24 4
gpt4 key购买 nike

好吧,抱歉这个坏双关语 :P

我已经 coded HAL => IBM 在 C 中的老把戏。我刚刚阅读了 K&R 中关于它们的前几页,我认为这将是一个很好的第一次尝试。

char evil[] = "HAL";
char *ptr = evil;
for (int i = 0; i < strlen(evil); ++i, ++ptr) {
(*ptr)++;
}
printf("%s\n", evil); // IBM

我的问题是,我有两个递增的变量,iptr,有些东西告诉我其中一个是多余的(也许我仍然不是 思考 C 足够好)。

我使用 i 的唯一原因是确定我们是否已经读取到字符串的末尾。有什么方法可以检查指针是否到达字符串的末尾?

更新

对于实际问题的任何混淆,我们深表歉意。 我错过了重点吗 我的基本意思是,当我还需要递增索引来检查长度时,为什么还要使用指针。我可以只使用该索引为数组中的正确字符添加下标。

最佳答案

你也可以这样写

for (char *ptr = evil; *ptr != '\0' ; ++ptr)

关于c - 我错过了指针的要点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3677485/

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