我有这个代码:
#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
未定义。(或者更确切地说,它抱怨函数的隐式声明)
我该怎么做?是否可以?