#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("Incorrect command line arguments.\n");
return 0;
}
for (int i = 0; i < strlen(argv[1]);i++){
printf("%c",argv[1][i]);
}
printf("\n");
}
我有这个简单的代码,但是在编译之后这是我的输出:
./a.out 123
123
./a.out (1+2+3)
bash: syntax error near unexpected token `1+2+3'
发生这种情况的原因是什么,我该如何解决?看起来它的括号是弄乱这个。感谢
答案 0 :(得分:1)
()
个字符对bash有特殊意义。使用引号强制bash将它们视为普通字符:
./a.out '(1+2+3)'