【发布时间】:2015-02-28 03:59:40
【问题描述】:
我有这个代码:
#include <string.h>
#include <stdio.h>
char numbers[5] = "12345";
int main(){
memrchr(numbers,'2',5);
for(int i=0;i<5;i++){
printf("%d",i);
}
return 0;
}
它使用 for 循环初始声明 (for(int i) 和 gnu 扩展 (memrchr)。
我正在使用编译器gcc
问题是它似乎并没有让两者都通过。我可以这样做
gcc program.c -o program
抱怨 for 循环,或者我可以这样做
gcc -std=gnu11 program.c -o program
抱怨memrchr 未定义。 (或者更确切地说,它抱怨函数的隐式声明)
我如何做到这两点?有可能吗?
【问题讨论】: