我在以下主要声明中遇到语法错误...
int main (int argc, char *argv[]) {
错误显示“意外令牌附近的语法错误”('“。
但是,正如您所看到的,那里有适量的括号。有什么问题?
谢谢!
更多代码:
/*Core Dump Program*/
#include <stdio.h>
#include <sys/resource.h>
#include <stdlib.h>
#include <errno.h>
int main (int argc, char *argv[])
{
struct rlimit limit;
limit.rlim_cur = 0;
limit.rlim_max = 0;
if (setrlimit(RLIMIT_CORE, &limit) == -1){
printf("Error preventing core dump errno=%d\n", errno);
exit(10);
}
else {
printf("The current core limit is %llu\n", limit.rlim_cur);
printf("The core max limit is %llu\n", limit.rlim_max);
exit(0);
}
if (getrlimit(RLIMIT_FSIZE, &limit) == -1){
printf("getlimit() failed with errno=%d\n", errno);
exit(1);
}
else {
printf("The current core limit is %llu\n", limit.rlim_cur);
printf("The core max limit is %llu\n", limit.rlim_max);
exit(0);
}
if (getrlimit(RLIMIT_CPU, &limit) == -1){
exit(1);
}
else {
printf("The current core limit is %llu\n", limit.rlim_cur);
printf("The core max limit is %llu\n", limit.rlim_max);
exit(0);
}
if (getrlimit(RLIMIT_NOFILE, &limit) == -1){
printf("Error preventing core dump errno=%d\n", errno);
exit(1);
}
else {
printf("The current core limit is %llu\n", limit.rlim_cur);
printf("The core max limit is %llu\n", limit.rlim_max);
exit(0);
}
if (getrlimit(RLIMIT_NPROC, &limit) == -1){
printf("Error preventing core dump errno=%d\n", errno);
exit(1);
}
else {
printf("The current core limit is %llu\n", limit.rlim_cur);
printf("The core max limit is %llu\n", limit.rlim_max);
exit(0);
}
}
答案 0 :(得分:2)
检查代码中的“隐形”字符。根据文件的创建方式,可以获得在普通文本编辑器的正常操作模式下无法看到的控制字符和/或unicode字符。许多编辑都有“显示不可见字符”功能(或类似名称的东西)。有些编辑甚至有一个功能可以找到并删除任何这样的字符(例如,Text Wrangler中的“Zap Gremlins”用于OS-X。
答案 1 :(得分:1)
我最后一次收到错误,因为某些内容包含特殊字符。有时,当您复制Web的内容时,编译器无法识别字符。
如果您使用的是IDE,我建议您检查语法高亮显示并查看是否有任何奇怪的内容,例如引号不会导致其他颜色,并替换它们。
更多信息: