c - 包含 stdlib.h 会导致代码无法正确编译
问题描述
当我需要包含 stdlib.h 时,我有一段代码。当我不包含此标头时,编译我的代码没有问题,但是当我包含标头时,我的代码拒绝编译。它告诉我它在数字常量之前需要一个标识符或“(”。我查看了我的代码并没有发现任何问题,并且如前所述,代码在不包含该标头的情况下完美编译。
我是 C 新手,所以请原谅我糟糕的代码,我只是想弄清楚为什么它会给我这个错误。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int execute(char **args)
{
}
char** parse(void)
{
char command[256];
fgets(command, sizeof(command), stdin);
char delimiter[] = " ";
char * pointer = strtok(command, delimiter);
int tokens = 0;
char ** final_command;
while (pointer != NULL)
{
// final_command = (char**)realloc(final_command,
// (tokens+1)*sizeof(char*));
//printf("%s\n", pointer);
//pointer = strtok(NULL, delimiter);
}
}
int main(int argc, char **argv)
{
int EXIT_SUCCESS = 1;
do
{
printf("MyShell> ");
char ** command = parse();
} while (EXIT_SUCCESS);
return EXIT_SUCCESS;
}
我使用命令 gcc -o MyShell MyShell.c 编译我得到的确切错误是“错误:预期的标识符或'('在数字常量 int EXIT_SUCCESS = 1; 之前”
解决方案
EXIT_SUCCESS 是 C 中的标准宏(定义)。请勿将其用作变量名。
推荐阅读
- php - 如何使用 wordpress 中的 where 条件更新序列化表字段?
- c# - 正则表达式 - 忽略空格
- quarkus - AWS Secrets Manager:驱动程序不支持提供的 URL:jdbc-secretsmanager:postgresql
- wordpress - 如何在 WordPress 中通过 user_pass 向用户显示解密的密码?
- python - 异步 SQLAlchemy 示例中的“元”
- php - 为什么我不能在这个特性中使用我的实例?
- c# - 如何使用绝对布局的框架在网格顶部创建弹出窗口?
- opencv - OpenCV 4.5 对应 OpenCV 2.4 cvCreateImageHeader 方法
- protocol-buffers - 使用 grpc-gateway 返回一个 json 映射值
- groovy - 如何使用命名参数并防止使用默认构造函数?