簡體   English   中英

錯誤:初始化元素不是常數 C

[英]error: initializer element is not constant C

我不斷得到

`error: initializer element is not constant
 FILE *file = fopen("/sys/class/hwmon/hwmon0/temp1_input", "r");

temperatura.c:19:14: error: expected ‘)’ before string constant
 fscanf(file ,"%s", &temp);`;

我的整個代碼看起來像:

#define  temp4M   1000
FILE *file = fopen("/sys/class/hwmon/hwmon0/temp1_input", "r");
char temp[temp4M];


fscanf(file ,"%s", &temp);

int main()
{
    printf(" CPU cores :%d\n", corCPU);
    printf("%s", modCPU);
    printf("%d",temp);

    return 0;
}

是我的文件路徑有問題還是我遺漏了什么,請注意,我正在從 temp1_input 讀取數字作為字符串而不是數字。 怎么了?

代碼應該在main函數中:

int main()
{
    FILE *file = fopen("/sys/class/hwmon/hwmon0/temp1_input", "r");
    char temp[temp4M];

    fscanf(file ,"%s", &temp);

    ...
}

編譯器被你的代碼弄糊塗了,它在函數之外,把它誤認為是什么。 因此,它給了您令人困惑的錯誤消息,這無助於您了解實際問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM