c中int型和浮點型的格式話輸出

小鲨鱼2018發表於2024-07-27

001、

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c                     // 測試程式
#include <stdio.h>

int main(void)
{
        int i = 10;

        printf("i1 = %d\n", i);
        printf("i2 = %f\n", i);

        return 0;
}
[root@PC1 test]# gcc test.c -o kkk             // 編譯
[root@PC1 test]# ls
kkk  test.c
[root@PC1 test]# ./kkk           // %f不能轉換int型資料
i1 = 10
i2 = 0.000000

002、

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c               // 測試程式
#include <stdio.h>

int main(void)
{
        int i = 8.888;                   // 把int型給予浮點型資料

        printf("i1 = %d\n", i);          // %d轉換
        printf("i2 = %f\n", i);          // %f轉換 

        return 0;
}
[root@PC1 test]# gcc test.c -o kkk         // 編譯
[root@PC1 test]# ls
kkk  test.c
[root@PC1 test]# ./kkk                     ## int型無法用%f轉換
i1 = 8
i2 = 0.000000

003、

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c           // 測試程式
#include <stdio.h>

int main(void)
{
        double i = 9.888;

        printf("i1 = %f\n", i);
        printf("i2 = %d\n", i);      // 用%d轉換doublereturn 0;
}
[root@PC1 test]# gcc test.c -o kkk
[root@PC1 test]# ls
kkk  test.c
[root@PC1 test]# ./kkk              ## 無法正常轉換
i1 = 9.888000
i2 = 2147483634

004、

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c                // 測試程式
#include <stdio.h>

int main(void)

{
        double i = 10;

        printf("i1 = %f\n", i);
        printf("i2 = %d\n", i);

        return 0;
}
[root@PC1 test]# gcc test.c -o kkk
[root@PC1 test]# ls
kkk  test.c
[root@PC1 test]# ./kkk              ## %d無法轉換double型資料
i1 = 10.000000
i2 = 2147483633

相關文章