c - 尝试根据字符在字母表中的位置将字符串的元素转换为数字
问题描述
我正在尝试获取字符串char theString[256] = "BreakfastLunchDinner";
并根据每个字符在字母表中的位置将其转换为一个数字,即 B = 2、f = 6、l = 12 等。
到目前为止,这是我的代码:
void main()
{
char theString[256] = "BreakfastLunchDinner";
}
void firstLast(char theString[], char *first, char *last)
{
int i = 0;
int num[256];
while(theString != '\0')
{
if(theString[i] >= 'A' && theString[i] <= 'Z')
{
num[i] = theString[i] - 'A';
}
else if(theString[i] >= 'a' && theString[i] <= 'z')
{
num[i] = theString[i] - 'a';
}
i++;
}
}
我在 main 函数中包含了声明以尝试尽可能详细,指针供以后使用,我目前专注于上面解释的转换方面。当我尝试在单独的程序中单独运行“firstLast”函数时,我得到了从编译器转储的分段错误核心。非常感谢任何帮助,谢谢。
解决方案
由于theString
永不改变,循环将永远不会终止,并且theString[i]
可能会冒险离开它不应该去的地方,从而导致段错误。
你的测试应该是theString[i] != '\0'
.
推荐阅读
- arrays - SwiftUI 在 UserDefault 数组中存储和更新自定义对象
- amazon-web-services - 如何在同一个域名下设置云前端和后端
- php - 试图用 PHP 和 MYSQL 删除一行
- python - Python 包级全局变量
- python - 计算两个时间序列之间的滞后作为时间的函数
- c# - 如何将 DbContext 与 FluentValidator 一起使用
- swift - 访问 StateObject 的对象而不安装在视图上。这将每次创建一个新实例 - SwiftUI
- python - 释放元组的元素?
- javascript - 如何在 jQuery 类的每个函数中使用“this”访问该类?
- ios - 使用标签栏控制器时在视图控制器之间传递数据