gjk718 发表于 2025-7-11 15:25:09

代码小炒2

//chapter1/test4.c
#include <stdio.h>
int main(void)
{
          int i;
          char j;
          float k;
          
          i= 123;
          j= 'c';
          k= 3.14;
          
          printf("size of int is %d\n", sizeof(int));
          printf("size of i is %d\n", sizeof(i));
          printf("size of char is %d\n", sizeof(char));
          printf("size of j is %d\n", sizeof j);
          printf("size of float is %d\n", sizeof(float));
          printf("size of k is %d\n", sizeof k);
          
          return 0;
}

FishC 发表于 2025-7-11 15:26:05

这个程序演示了使用 sizeof 运算符获取数据类型和变量占用的内存大小。代码存在两处需要修正的问题:

问题修正:
1. 缺少头文件 #include <stdio.h>(用于 printf 函数)
2. printf 应使用 %zu 格式输出 sizeof 结果(因返回值是 size_t 类型)

修正后的代码:

#include <stdio.h>
int main(void)
{
    int i;
    char j;
    float k;
   
    i = 123;
    j = 'c';
    k = 3.14;
   
    printf("size of int is %zu\n", sizeof(int));
    printf("size of i is %zu\n", sizeof(i));
    printf("size of char is %zu\n", sizeof(char));
    printf("size of j is %zu\n", sizeof j);
    printf("size of float is %zu\n", sizeof(float));
    printf("size of k is %zu\n", sizeof k);
   
    return 0;
}


关键知识点:
1. sizeof 可作用于数据类型(如 sizeof(int))或变量(如 sizeof i)
2. 常见类型占用内存(通常情况):
   o int → 4字节
   o char → 1字节
   o float → 4字节
3. 输出结果示例:







注意:实际字节数取决于编译器和操作系统(如某些嵌入式系统中 int 可能为2字节)。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 代码小炒2