Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 Xcode 开发工具的新手。为了调试问题,我尝试了一个非常简单的代码:
int main() {char N; char M; scanf("%c",&N); scanf("%c",&M); printf("%c",N); printf("%c",M); }
但问题是编译器似乎没有读取第二个scanf。所以我可以在控制台输入一个字符,然后程序就停止了。令人惊讶的是,当我用“int”代替“char”编写相同的代码时,它工作得很好。有人知道出了什么问题吗?
在第一个 scanf 中输入字符后按 Enter 键,对吗?Enter 是第二个 scanf 读取的内容。并由第二个 printf 打印。
您还没有显示该程序的输出,但是如果您将 printf 格式更改为%d\nfrom %c,那么如果您键入“a”并按 Enter,它可能类似于以下内容:
%d\n
%c
97 10
那 10 是 Enter 的字符代码(换行符或换行符)。