这是我的函数,问题是它永远不会停止在命令行中获取输入。
我不知道在哪里放置return 0
.
int my_rot13(int c) {
if ('a' <= tolower(c) && tolower(c) <= 'z')
return tolower(c)+13 <= 'z' ? c+13 : c-13;
return c;
}
int main() {
int k, c;
char *p;
if (argc < 2) {
while ((c = getc(stdin)) != EOF) {
putchar(my_rot13(c));
}
return 0;
}
for (k = 1; k < argc; k++) {
for (p = argv[k]; *p != '\0'; p++) {
putchar(my_rot13(*p));
}
putchar(' ');
}
putchar('\n');
return 0;
}
如果我像这样传递标准输入./a.out "hey"
,它可以退出程序。
但是当我进入用户输入模式时,我无法摆脱这个功能。