linux main中参数传入?问题
正常情况下将?作为参数传给main,其输入printf打印为?,但是我的工程中,现在传入参数?,打印出来的确是p。有谁知道原因,有什么原因可以影响传入参数的值。
------解决方案--------------------看你的运行目录下是不是有一个名字为p的文件??
或者试试这样执行
./a.out "?"
------解决方案--------------------
$] touch p
$] ./a.out ?
argv[1]=p
$] ./a.out "?"
argv[1]=?
$] rm p
$] touch q
$] ./a.out ?
argv[1]=q
看来确实是?被替换造成的。
这个应该是shell的特性。
问号,匹配单个字符。
------解决方案--------------------./a.out \? 或者./aout "?"
转义下