gpt4 book ai didi

c - 使用 scanf 和赋值读取变量之间的区别

转载 作者:行者123 更新时间:2023-12-02 07:51:35 24 4
gpt4 key购买 nike

int main()
{
int i,j;
i='c';

scanf("%d",&j); // I will read 'c' here

printf("%d %d",i,j);

}

输出不一样。'j' 取垃圾值,'i''c' 的 ascii 值。谁能说出可能是什么原因?

最佳答案

scanf 说:

scanf("%d", &j);

对于这句话,scanf 将尝试将您用作函数输入的“c”字符解析(转换)为数字。这就是你得到垃圾的方式。 C 不知道如何将“c”转换为数字,因为 scanf 需要数字。

尝试将其更改为:

scanf("%c", &j);

如果您的 printf 调用是这样的:

printf("%d %d", i, j);

两次你应该得到相同的值:“c”字符的 ASCII 值。

关于c - 使用 scanf 和赋值读取变量之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3541518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com