gpt4 book ai didi

c - 为什么这个 C 程序导致 'appcrash' 错误?

转载 作者:太空宇宙 更新时间:2023-11-04 05:58:23 25 4
gpt4 key购买 nike

我正在 windows 8 x64 上编译和运行一个 c 程序(gcc 编译器)。当我尝试运行可执行文件时,Windows 给出错误“appcrash”。谁能帮忙?这是程序:

#include<stdio.h>
#include<stdlib.h>

int main(int args, char* argv[])
{

float a=5;
float *p1;
float* p2, p3;
p1=&a;
printf("%f \n %f \n %f \n",p1,&p1,*p1);
}

最佳答案

printf("%f \n %f \n %f \n",p1,&p1,*p1);

您的格式字符串要求您传递三个浮点值。你只通过了一个,最后一个。您传递的其他参数都是指针。

因此您的程序调用了未定义的行为。这意味着任何事情都可能发生。在这种情况下,您很幸运,遇到了运行时故障。

我不知道你想做什么,但如果你想打印这三个参数,那么你需要使用 %p 作为指针。

printf("%p\n%p\n%f\n", p1, &p1, *p1);

最好的建议是在启用警告的情况下进行编译。所有现代编译器都能为您找到此类错误。

关于c - 为什么这个 C 程序导致 'appcrash' 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22996668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com