int main()
{
int i,j;
i='c';
scanf("%d",&j); // I will read 'c' here
printf("%d %d",i,j);
}
Run Code Online (Sandbox Code Playgroud)
输出不一样.'j'获取垃圾值并'i'获取ascii值'c'.任何人都可以说出原因是什么?
你scanf说:
scanf("%d", &j);
Run Code Online (Sandbox Code Playgroud)
使用此句子scanf将尝试将您用作函数输入的'c'字符解析(转换)为数字.这就是你得到垃圾的方式.C不知道如何将'c'变成数字,因为scanf期待数字.
尝试将其更改为:
scanf("%c", &j);
Run Code Online (Sandbox Code Playgroud)
如果您的printf电话是这样的:
printf("%d %d", i, j);
Run Code Online (Sandbox Code Playgroud)
两次都应该得到相同的值:'c'字符的ASCII值.
| 归档时间: |
|
| 查看次数: |
3554 次 |
| 最近记录: |