我有一个很奇怪的问题。我通过以下命令在我的Objective-C程序的命令行中传递多个参数。
gcc -framework Foundation main.m calculator.m -o prog1
./prog1 3 + 5 / 8
当我打印
argc
和argv[]
时,它给我以下正确的输出argc = 6
argv[] = prog1,3,+,5,/,8
当我在输入中插入“*”时出现问题:
./prog1 3 + 5 / 8 * 8
然后它给了我非常奇怪的输出argc = 12
argv [] = 3,+,5,/,8,calculator.h,calculator.m,main.m,prog1,8
怎么了
最佳答案
您有2个选择
\*
)或"*"
所示)。 关于macos - 将星号传递给命令行程序会使文件名出现在argv中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36231066/