c语言scanf short类型,使用g++、dev、mingw的用户使用scanf()语句尽量不要对short类型变...

在使用GNU ISO C++ Library 3.4.2版本的代码中,发现每次对short型变量调用scanf()后,之前定义的short变量会被重置为0。这个问题出现在输入多个short变量的场景下,影响了变量的正常存储。示例代码展示了问题的现象,其中在输入最后一个short变量bei之后,所有之前的short变量值都被清零,只有bei保持正确。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我使用的是GNU ISO C++ Library 3.4.2 以下版本

有如下源代码,在每次对short型变量执行scanf()操作时,都会将前面语句最近使用到的short变量值改为0;

不知道大家有没有过这样的经历。

我使用的源代码及运行结果如下:

#include 

int main(void) {

short a, no1, no2, no3, no4;

short bei;

printf("请输入一个小整数a$17);

scanf("%d", &a);

printf("a=%d\n", a);

printf("请输入一个小整数no1$17);

scanf("%d", &no1);

printf("no1=%d\n", no1);

printf("请输入一个小整数no2$17);

scanf("%d", &no2);

printf("no2=%d\n", no2);

printf("请输入一个小整数no3$17);

scanf("%d", &no3);

printf("no3=%d\n", no3);

no4 = a + no1 + no2 + no3;

printf("no4 = %d\n", no4);

printf("请输入一个小整数bei$17);

scanf("%d", &bei);

printf("a=%d,no1=%d,no2=%d,no3=%d,no4=%d,bei=%d\n", a, no1, no2, no3, no4, bei);

return 0;

}

请输入一个小整数a$17

a=54

请输入一个小整数no1$17

no1=14

请输入一个小整数no2$17

no2=63

请输入一个小整数no3$17

no3=87

no4 = 87

请输入一个小整数bei$17

a=0,no1=0,no2=0,no3=87,no4=0,bei=14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值