C++:用sprintf()把-3.11存到占8字节的char数组里,要求数字向左对齐
时间: 2023-05-26 21:01:18 浏览: 106
A:
```c
char arr[8];
sprintf(arr, "%-8.2f", -3.11);
```
解析:
`%-8.2f`中 `-` 表示数字向左对齐,`8` 表示总位数为8,包括小数点和负号,`.2` 表示保留两位小数。将 `-3.11` 格式化后得到的字符串就可以存到 `arr` 数组中了。
相关问题
C++:用sprintf()把3.11存到占8字节的char数组里,要求数字向左对齐
C语言代码如下:
```
char array[8];
sprintf(array, "%-8.2f", 3.11);
```
解释:
- %-8.2f:格式化字符串,表示输出一个float类型的数值,并将其格式化为占8个字符的字符串,左对齐,并保留2位小数。
- sprintf():将格式化后的字符串写入到指定的字符数组中。
- array:指定的字符数组,用于存储格式化后的结果。
- 3.11:要格式化的数值。
用C++把-142.6266263265转成char类型,取前8位存到char数组里
A:
首先,将-142.6266263265转换成字符串类型,可以使用sprintf函数实现:
```c
char str[20];
sprintf(str, "%f", -142.6266263265);
```
然后,将字符串类型的数值截取前8位,存储到char数组中:
```c
char arr[9];
for(int i=0; i<8; i++){
arr[i] = str[i];
}
arr[8] = '\0';
```
完整代码如下:
```c
#include <stdio.h>
int main(){
char str[20];
sprintf(str, "%f", -142.6266263265);
char arr[9];
for(int i=0; i<8; i++){
arr[i] = str[i];
}
arr[8] = '\0';
printf("char数组的内容为:%s", arr);
return 0;
}
```
运行结果为:
```
char数组的内容为:-142.626
```
阅读全文