C语言b.把字符串“32.31”格式化成两个变量存储在int a 和 int b当中。
时间: 2024-11-15 13:24:13 浏览: 14
在C语言中,将字符串"32.31"转换为整数并分别存储到两个整型变量a和b中,可以使用`strtol()`函数进行处理。但是需要注意的是,这个过程需要处理小数部分,因为C语言的标准库函数通常不支持直接将浮点数字符串转化为整数。下面是一个示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[] = "32.31";
char *endptr;
int a, b;
// 将整数部分赋值给a
a = strtol(str, &endptr, 10);
if (*endptr != '.') {
printf("Invalid string format.\n");
return 1;
}
// 移动指针到小数点后的位置
++endptr;
// 使用剩下的部分尝试读取小数部分
b = strtol(endptr, NULL, 10);
// 检查是否所有输入都被成功解析
if (endptr == str + strlen(str)) {
printf("a = %d, b = %d\n", a, b);
} else {
printf("Conversion failed or incomplete.\n");
}
return 0;
}
```
在这个例子中,如果字符串不是有效的整数格式,程序会捕获错误并提示。另外,由于`strtol()`只能处理整数,所以小数部分会被截断,实际应用中可能会丢失精度。
阅读全文