c语言中 字母对应的数值,C语言--将字符串转换成对应数字
时间: 2024-10-20 16:13:02 浏览: 26
c语言标准库中字符转换函数和数字转换函数
在C语言中,如果你想把包含字母的字符串转换成对应的数字,通常我们会想到ASCII码。ASCII码是一种字符编码标准,它给每个英文字符赋予了一个唯一的整数值。例如,大写字母'A'的ASCII值是65,小写字母'a'是97。
如果你有一个只包含小写字母的字符串,并想将其转换成对应的数字,可以遍历字符串,对每一个字符加相应的ASCII值减去'0'('a'的ASCII值)。这里需要注意的是,你需要确保字符串仅包含小写字母,并且处理可能出现的溢出情况。
下面是一个简单的示例函数,假设输入的字符串长度不超过10个字符:
```c
#include <stdio.h>
#include <string.h>
int string_to_number(const char* str) {
int result = 0;
for (int i = 0; i < strlen(str); i++) {
if ('a' <= str[i] && str[i] <= 'z') { // 检查字符是否在小写字母范围内
result *= 26; // 字符串长度最大到10,所以每次乘26
result += str[i] - 'a'; // 添加当前字符的ASCII值
} else {
printf("Invalid character found.\n");
return -1;
}
}
return result;
}
int main() {
const char* str = "abc";
int number = string_to_number(str);
if (number != -1)
printf("The number representation of '%s' is %d\n", str, number);
return 0;
}
```
阅读全文