gpt4 book ai didi

c++ - 如何使用指针访问 char * 中的字符

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:49:27 26 4
gpt4 key购买 nike

我有这个函数,它使用数组符号打印出 char * 中的每个字符:

void printCharArray(char* c,int n)
{
for(int i=n-1;i>=0;i--)
cout << c[i]; // or *(c+i)
}

所以除了使用符号 c[i]*(c+i) 之外,还有什么方法可以用指针及其算法实现相同的结果吗?案例?

最佳答案

是的,你可以:

for (char*p=c+n-1; n; n--) 
cout << *p--;

顺便说一下,cout for char by char 输出是一个很大的开销。 cout.put(*p--); 会是一个更轻便的选择

以防万一您需要保持参数不变以进行进一步处理,这里有一个替代方案:

for (char*p=c+n-1; p!=c-1; p--) 
cout.put(*p);

当然,这一切都假设n>=0。

关于c++ - 如何使用指针访问 char * 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31771208/

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