C语言字符串转换成十进制数
时间: 2023-09-08 16:15:24 浏览: 127
C语言中可以使用函数`atoi()`将字符串转换成十进制数,例如:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "1234";
int num = atoi(str);
printf("%d\n", num);
return 0;
}
```
输出结果为:
```
1234
```
需要注意的是,`atoi()`函数只能将字符串转换成整型数,如果字符串中含有非数字字符,将返回0。如果需要转换成其他类型的数,可以使用`atof()`函数(转换成浮点型数)或`strtol()`函数(转换成长整型数)。
相关问题
C语言字符串转换成十进制数代码
以下是C语言中将字符串转换成十进制数的示例代码:
```c
#include <stdio.h>
#include <string.h>
int str_to_int(char *s) {
int n = strlen(s);
int res = 0;
for (int i = 0; i < n; i++) {
int num = s[n-i-1] - '0';
res += num * pow(10, i);
}
return res;
}
int main() {
char s[] = "123";
int num = str_to_int(s);
printf("%d\n", num);
return 0;
}
```
这个程序定义了一个函数 `str_to_int`,接受一个字符串作为参数,返回对应的十进制数。在 `main` 函数中,我们测试了这个函数的正确性,并将结果输出到屏幕上。注意,这个程序需要包含头文件 `stdio.h` 和 `string.h`。
C语言字符串转换成十进制整数数组实现
可以使用C语言中的标准库函数`sscanf()`将字符串转换成十进制整数数组。`sscanf()`函数的原型为:
```c
int sscanf(const char *str, const char *format, ...);
```
其中,`str`为要转换的字符串,`format`为格式字符串,用来指定要转换的整数个数及其格式。
示例代码如下:
```c
#include <stdio.h>
int main() {
char str[] = "1, 2, 3, 4, 5";
int num[5];
sscanf(str, "%d, %d, %d, %d, %d", &num[0], &num[1], &num[2], &num[3], &num[4]);
for (int i = 0; i < 5; i++) {
printf("%d ", num[i]);
}
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```
在格式字符串中,`%d`表示要转换的整数,`,`表示要匹配的字符。因为字符串中整数之间用逗号分隔,所以在格式字符串中也要用逗号分隔。同时,在`sscanf()`函数中,要将转换后的整数存储到对应的整数数组元素中,因此要使用`&num[i]`来获取整数数组元素的地址。