我正在尝试导出变量并使用getenv()
将其读回来但由于某种原因,它会给我一个分段错误。
#include<stdio.h>
#include<stdlib.h>
int main(){
system("export LINES=$(stty size | awk '{print $1}');"
"export COLUMNS=$(stty size | awk '{print $2}')");
printf("%s %s\n", getenv("LINES"), getenv("COLUMNS"));
//Heisenbug?
return 0;
}
我正在运行Ubuntu 14.04。
奇怪的是它在gdb上正常运行,并且编译器输出在编译时没有显示错误,即使使用-Wall -Wextra
...
为什么会这样?
答案 0 :(得分:5)