在MINIX中编译时出现“char not expected”错误
我需要在屏幕上打印一行,然后获取用户输入,但是printfblah语句导致我的代码无法编译。错误消息说“char不是预期的,但是当我注释printf语句时,代码会编译在MINIX中编译时出现“char not expected”错误,c,cc,minix,C,Cc,Minix,我需要在屏幕上打印一行,然后获取用户输入,但是printfblah语句导致我的代码无法编译。错误消息说“char不是预期的,但是当我注释printf语句时,代码会编译 #include <stdio.h> #include <stdlib.h> int main(void) { printf("Welcome to the shell!\n"); printf("shell:>"); char* inp = (char*)malloc
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("Welcome to the shell!\n");
printf("shell:>");
char* inp = (char*)malloc(20); // error at this line
}
我在MINIX 3.1.0中使用cc编译器。MINIX C编译器没有遵循现代标准,这意味着只能在函数开始时声明局部变量 你需要做些什么
char *inp;
printf("Welcome to the shell!\n");
printf("shell:>");
inp = malloc(20);
当我说现代时,我指的是C99标准。MINIX编译器似乎遵循的旧C89标准,以及直到最近的Visual Studio C编译器直到VS2013及更高版本才支持C99的大部分内容,只允许在块的开头声明。MINIX C编译器没有遵循现代标准,这意味着局部变量只能在函数开始时声明 你需要做些什么
char *inp;
printf("Welcome to the shell!\n");
printf("shell:>");
inp = malloc(20);
当我说现代时,我指的是C99标准。MINIX编译器似乎遵循的较旧的C89标准,以及Visual Studio C编译器,直到最近,C99的许多部分直到VS2013及更高版本才得到支持,只允许在块的开头声明。请在C中输入malloc和family的返回值,并包括stdlib.h,不要忘记释放分配的内存。它包含在我的原始程序中,我刚才在这里添加了它。t稍后在程序中释放内存。:-我现在将检查malloc链接。谢谢。请在C中输入malloc和family的返回值,并包括stdlib.h,不要忘记释放分配的内存。它包含在我的原始程序中,我刚才在这里添加了它。t稍后在程序中释放内存。:-我现在将检查malloc链接。谢谢,真管用!谢谢我完全不知道它曾经是这样工作的。为了得到一个好的答案,应该指出标准的哪个版本引入了现代功能。其他一些语言中的功能在c89之前就已经出现了。这很有效!谢谢我完全不知道它曾经是这样工作的。为了得到一个好的答案,应该指出标准的哪个版本引入了现代功能。其他一些语言中的功能早于c89。