c语言中对定义为整型的变量输入字符会赋予该变量什么值,谢谢

如题所述

不会给该变量赋值,这个整型变量的值为系统赋给这个变量的随机值追问

真的吗?
for(;;)
{
printf("输入雇员信息请按1,查看雇员信息请按2:");
scanf("%d",&i);
if(i==1)
{
Getpayroll();
}
else if(i==2)
{
Displaypayroll();
}
else
{
printf("Error.");
}
}为什么上面程序再输入字母后会跳过输入的步骤无限循环下去,

追答

当输入的数据类型无法与指定的匹配,那么程序就将停止对scanf()语句的处理,直接跳过,

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-23
一个我们没有办法预测的乱码追问

乱码不一定是数字是吧;
for(;;)
{
printf("输入雇员信息请按1,查看雇员信息请按2:");
scanf("%d",&i);
if(i==1)
{
Getpayroll();
}
else if(i==2)
{
Displaypayroll();
}
else
{
printf("Error.");
}
}为什么上面程序再输入字母后会跳过输入的步骤无限循环下去,

追答

楼上说的很好,当你输入字母后,与你的类型不匹配,scanf("%d",&i);就不会执行,而是系统自己随机赋一个值给I,指针就一直在哪里,输入语句的上面,这是我的理解,不知道有没有问题,如果你有明确的知识点,请告诉我,谢谢

相似回答