为什么要一个接一个地扫描两次并将变量存储在char中会破坏第一个变量呢?

uubf1zoe  于 2023-03-07  发布在  其他
关注(0)|答案(1)|浏览(80)

我确实有一个关于使用scanf的问题,特别是当我想将变量存储在char变量中时。
下面是我使用的代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
char min,max;
printf("Please enter two number to create an array with numbers in between: ");
scanf("%d",&min);
printf("%d\n",min);
scanf(" %d",&max);
printf("%d %d\n",max,min);
}

我尝试在第一次scanf后使用fflush(stdin),还尝试在第二次scanf中的“%d“前或第一次scanf后留一个空格,但没有效果〉〉〉〉因此,每当第二次scanf工作时,第一次scanf中存储的内容都将替换为零〉〉〉
尝试忽略下面的5个数字,它在一个代码内,我没有在这里输入.
Result

fjaof16o

fjaof16o1#

...我想将变量存储在char中...
如果你真的想把值存储在一个char变量中,你需要长度修饰符hh,也就是scanf("%hhd", &min)scanf("%hhd", &max)

相关问题