我是Xcode开发工具的新手.为了调试问题,我尝试了一个非常简单的代码:
int main()
{char N;
char M;
scanf("%c",&N);
scanf("%c",&M);
printf("%c",N);
printf("%c",M);
}
Run Code Online (Sandbox Code Playgroud)
但问题是编译器似乎没有读取第二个scanf.所以我可以在控制台中输入一个字符,然后程序停止.令人惊讶的是,当我用"int"代替"char"编写相同的代码时,它的工作正常.有人知道什么是错的吗?
在第一个scanf中输入一个字符后你按Enter键,对吧?Enter是第二个scanf读取的内容.并由第二个printf打印.
您尚未显示此程序的输出,但如果您将printf格式更改为%d\nfrom %c,那么如果您键入"a"并按Enter键,则可能类似于以下内容:
97
10
Run Code Online (Sandbox Code Playgroud)
那个10是Enter(换行符或换行符)的字符代码.
| 归档时间: |
|
| 查看次数: |
1214 次 |
| 最近记录: |