c++ - 尝试将已经存在的数组的反向存储到另一个数组中时出现 C++ 错误。不能使用指针
问题描述
//Function to store the reverse of original array
void ReverseName(char name[], char reverse[]) {
int i, j = 0;
for (i = 0; name[i] != '\0'; i++) {} //loop to find size of name
for (i; i >= 0; i--) { //loop to go backwards from end of name
reverse[j] = name[i]; //should get stored here
j++; //run through array and populate it
}
}
似乎代码没有正确复制并且输出为空白。当我放一个'cout'来检查name []时,它检测并反向打印它没有问题,问题是复制到另一个数组中。
解决方案
问题是您使用'\0'
in的索引开始第二个循环i
,因此反转的字符串将包含'\0'
在第一个字符中,因此看起来是空的。
替换这个:
for (i; i >= 0; i--)
和:
while (i--)
第二个循环结束后,终止字符串:
reverse[j] = '\0';
推荐阅读
- angular - Angular 和 Firebase
- python - 具有 NaN 的数据框中的列以浮点数显示数字(默认),而没有 NaN 的列具有整数作为 dtype(默认)
- google-cloud-platform - 谷歌云扳手的集成测试
- c# - C# Web API 2 - 不允许的方法
- javascript - 在 Next.JS 6 中使用 _app.js 页面组件时,转换触发得太早
- java - 使用 Maven 在 Eclipse IDE 中安装 Spark
- amazon-ec2 - AWS EBS、S3 和 RDS
- python - 有没有办法将 HTML 中的输入字段链接到 DJANGO 中使用的 ACTUAL 表单字段
- c - 如何解决“控制到达非无效函数结束”警告?
- python - 如何在 ubuntu 14 中安装 aws-sam-cli?