标准输入C:如果$存在,则字符串不正确

Sri*_*ppa 5 c gcc

我试图从STDIN获取输入.如果输入字符串以字符'$'开头,则输入不会按原样转换为字符串.

int main(int argc, char*argv[]){
     printf("%s\n",argv[1]);
}
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我为什么C编译器在遇到'$'符号时用'0'替换字符?

Mik*_*ews 10

这不是你的计划.它是你的shell将其解释为变量,然后将其值传递给您的程序.

要解决此问题,$请从shell调用程序时转义.

./yourprogram '$arg'
Run Code Online (Sandbox Code Playgroud)