c语言指针实现编写一个函数实现将"12345"变成十进制12345(编写函数实现)
时间: 2024-10-12 08:11:13 浏览: 25
在C语言中,你可以通过定义一个指向字符数组的指针,并遍历该数组,将每个字符转换为其ASCII值减去'0'(因为字符 '0' 的ASCII码是48),然后乘以相应的权重(如1、10、100等),最后累加求和得到整数结果。下面是一个简单的函数实现:
```c
#include <stdio.h>
int charToDecimal(char* str) {
int decimal = 0;
int power = 1; // 用于计算当前字符位置的权重
for (int i = strlen(str) - 1; i >= 0; i--) { // 从字符串末尾开始遍历
if (str[i] >= '0' && str[i] <= '9') { // 确保字符是数字
decimal += (str[i] - '0') * power; // 将字符转换为数字并累加到decimal上
power *= 10; // 更新权重
}
}
return decimal;
}
// 测试函数
int main() {
char str[] = "12345";
int result = charToDecimal(str);
printf("The decimal equivalent of '%s' is %d\n", str, result);
return 0;
}
```
这个`charToDecimal`函数会将给定的字符串转换成对应的十进制整数。当你运行`main`函数时,它将打印出`"12345"`的十进制表示。
阅读全文