C 字符宽度1和例如6之间有什么区别

C 字符宽度1和例如6之间有什么区别,c,C,我从C语言开始学习。我不理解整个字符。当我改变它时,没有任何视觉效果发生,所以我不知道这是为了什么 我在研究,一开始我发现它不是字符串长度而是 字符数据类型,但我无法找到更多信息 main() { float farh, celsium ; int lower, upper, step; lower = 0; upper = 300; step = 20; farh = lower; while(farh <=

我从C语言开始学习。我不理解整个字符。当我改变它时,没有任何视觉效果发生,所以我不知道这是为了什么

我在研究,一开始我发现它不是字符串长度而是 字符数据类型,但我无法找到更多信息

 main()
 {
     float farh, celsium ;
     int lower, upper, step;

     lower = 0;
     upper = 300;
     step = 20;

     farh = lower;
     while(farh <= upper) {
         celsium = (5.0/9.0) * (farh - 32.0);
         printf( "%5.2f %5.2f\n",farh, celsium);
         farh = farh + step;
     }
 }
用至少5个字符宽和小数点后2个数字表示要发出警报的每个参数。但如果我写2、6或其他数字而不是5,会有什么变化

 printf("%5.2f\n", 3.223467856);
考虑上面的说法:

使用%5.2f打印将生成:_3.22(符号u表示开头的空白,不会在控制台中打印)

5:
数字将占用5个字符宽的空间。(.)点也占用1个字符空间)

2:
数字将在小数点(.)后占据2位数字

使用%6.2f打印将生成:_3.22

printf("%6.3f\n", 3.223467856);
如果修改程序(进行一些清理),使用%6.2f打印将生成:_3.223

fahrenheit
0
变为
20
时,与从
80
变为
100
时,您会看到行为上的差异。请注意,C中的“宽字符”并不是指您当前正在询问的内容。相反,它与Unicode 16位编码字符有关。查看此条目:
printf("%6.2f\n", 3.223467856);
printf("%6.3f\n", 3.223467856);
    #include <stdio.h>
    #include <stdlib.h>

    int main(void) {
        int const lower_limit = 0;
        int const upper_limit = 300;
        int const step = 20;

        float fahrenheit = lower_limit;
        while (fahrenheit <= upper_limit) {
            float const celsius = (5.0f / 9.0f) * (fahrenheit - 32.0f);
            printf("%9.6f\t%10.6f\n", fahrenheit, celsius);
            fahrenheit += step;
        }

        return EXIT_SUCCESS;
    }
 0.000000   -17.777779
20.000000    -6.666667
40.000000     4.444445
60.000000    15.555556
80.000000    26.666668
100.000000   37.777779
120.000000   48.888893
140.000000   60.000004
160.000000   71.111115
180.000000   82.222229
200.000000   93.333336
220.000000  104.444450
240.000000  115.555557
260.000000  126.666672
280.000000  137.777786
300.000000  148.888901