簡體   English   中英

C函數未返回值

[英]C function is not returning the value

我的代碼有什么問題? 我試圖從函數ignition_status返回一個值,但不返回。 我在代碼中看不到任何問題。

#include<stdio.h>
#include<stdint.h>
const char * ignition_status();
const char *ign_st;
int main()
{
printf("%s", ignition_status(1));
return 0;
}
const char * ignition_status(int st)
{
    if(st==1)
        {
           const char *ign_st="ON";
         }
    else
        {
           const char *ign_st="OFF";
         }
   return ign_st;
}

謝謝...

這些評論為您指明了正確的方向,這是一個有效的示例:

#include <stdio.h>

const char * ignition_status(int st)
{
    const char *ign_st;

    if(st==1) {
       ign_st="ON";
    } else {
       ign_st="OFF";
    }

    return ign_st;
}

int main()
{
    printf("%s", ignition_status(1));

    return 0;
}

只需在if/else語句中的ign_st前面刪除const char *

#include<stdio.h>
#include<stdint.h>
const char * ignition_status();
const char *ign_st;

int main() {
  printf("%s", ignition_status(1));
  return 0;
}

const char * ignition_status(int st) {
  if(st==1) {
    ign_st="ON";
  } else {
    ign_st="OFF";
  }

  return ign_st;
}

暫無
暫無

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

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