C 程序编写不正确

标签 c arrays pointers

我的 C 应用程序有一个小问题;请帮助我找到解决方案:

#include <stdio.h>

float t[5];
int i;
float *p;

*p=t;

int main (void)
{

    for (i=0;i<=4;i++)
    {
        printf("t[%d]",i);
        scanf("%f",&t[i]);
    }

    for (i=0;i<=4;i++)
    {
        printf("t[%d]=%f \n",i,*(p+i));
    }

    return 0;
}

当我编译这个程序时,编译器给我这个问题:

[Warning] initialization from incompatible pointer type

这是什么意思,我该如何修改我的代码以使其正确编译和运行?

最佳答案

您不能在函数外添加一些代码并希望它按某种顺序执行。

float t[5];

float *p;
*p=t; // illegal, you probably meant p=t; anyway

float *p = t; // fine

int main (void) {}

关于C 程序编写不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41750569/

相关文章:

c++ - 如何在多维数组上调用new

c - 如何在C中的数组中存储字符串和整数

arrays - 如何在 golang 中给 Json 数组一个标识符

c - 双指针和内存分配

arrays - 如何快速获取数组中最大元素的数量

c++ - 引用结构数组

c - 用于 qsort 的指针转换

c - 内核模块计时器杀死系统

c - 将字符串数组从函数传递到主函数(C 代码)

c - 如何继续使用 malloc?