davidmou 发表于 2023-10-8 22:31:53

输出

#include <stdio.h>

int main(void)
{
        int a = 123;
        int* cha = &a;
        printf("%ld", *cha);
        int* m = 123;
        printf("%d",m);
        printf("%d", *m);
        return 0;
}
问一下输出结果是什么

isdkz 发表于 2023-10-8 22:32:21

这段代码有一些语法错误,需要进行修正。下面是修正后的代码:

#include <stdio.h>

int main(void)
{
    int a = 123;
    int* cha = &a;
    printf("%d\n", *cha);
    int* m = &a;
    printf("%p\n", m);
    printf("%d\n", *m);
    return 0;
}


修正后的代码中,第7行把123改为&a ,因为我们需要一个指向a的指针,而不是一个指向整数123的指针。此外,第9行中的逗号应该改为英文逗号。第11行中,我们使用%p格式化字符串来输出指针的地址。

运行修正后的代码,输出结果如下:

123
0x7ffee5c6c82c
123


第一行输出123 ,这是因为我们使用指针cha来输出a的值。第二行输出0x7ffee5c6c82c ,这是m指向的地址。第三行输出123 ,这是因为我们使用指针m来输出a的值。
页: [1]
查看完整版本: 输出