【问题标题】:Why is Cod::Blocks giving me Null instead of a input char?为什么 Cod::Blocks 给我 Null 而不是输入字符?
【发布时间】:2022-12-10 13:24:39
【问题描述】:

源代码:

#3 主.c

# include "func.h"

int main(void) {
    func();
    return 0;
}

#3 函数.h

#include <stdio.h>

void inputName();
void printName();
void func();

#3 func.c

#include "func.h"

char GLOBAL_NAME;

void inputName() {
    scanf("%s", &GLOBAL_NAME);
}

void printName() {
    printf("Your name is: %s.\n", &GLOBAL_NAME);
}

void func(void) {
    inputName();
    printName();
}

输出:

Your name is: (null).

我使用了 https://www.online-cpp.com/online_c_compiler 和相同的代码,它在在线编译器上运行良好。但是当我尝试在 Code::Blocks 上使用它时,它显示:

Your name is: (null).

不知道是什么问题,会不会是编译器的问题?

我正在使用 Code::Blocks 的 Windows 机器,我认为使用 GCC 作为编译器。

【问题讨论】:

    标签: c windows gcc output codeblocks


    【解决方案1】:

    用一个长度初始化你的 char 变量,因为你没有用它返回 NULL 的长度初始化它。

    char GLOBAL_NAME[30];
    

    【讨论】:

      猜你喜欢
      • 2020-01-20
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多