我正在尝试从STDIN获取输入。如果输入字符串以字符'$'开头,则输入不会按原样转换为字符串。
int main(int argc, char*argv[]){
printf("%s\n",argv[1]);
}
有人可以告诉我为什么C编译器在遇到'$'符号时会将字符替换为'0'?
答案 0 :(得分:10)
这不是你的计划。这是你的shell将其解释为变量,然后将其值传递给你的程序。
要解决此问题,请在从shell调用程序时转义$
。
./yourprogram '$arg'