#include <stdio.h>
#include <string.h>

const int STRING_SIZE = 40;
typedef char string[STRING_SIZE];

char typeInput(string message);

int main()
{
    typeInput("Hi my name is Sean");
}

char typeInput(string message)
{
    printf(" %s", message);
}

错误:在文件作用域中可变地修改了“string”
我一直有这个错误是有原因的。我哪里做错了?
编辑:
以防我使用代码块

最佳答案

在C中,const不声明常量,而是声明只读变量。编译器抱怨是因为STRING_SIZE不是常量。
解决方法:

enum { STRING_SIZE = 40 };
// enum creates constants in C (but only integer ones)

关于c - 错误:在文件范围内可变地修改了“字符串”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40194561/

10-12 04:24
查看更多