小白提问,烦请大老指教!!!操作系统:win7家庭版64位、编译环境:code::blocks17.12
当为scanf输入"12345,xyz"后: a内存值为:7b 00 00 00,对应10进制的123,这个没问题; c内存值为:00,这是为什么呢?缓存中的"45,xyz"是怎么处理的呢?
#include<stdio.h>
void main()
{ int a; char c;
printf("a=%d,c=%c\n",a,c);//输出变量原始值
printf("a:%x,c:%x\n",&a,&c);//输出变量地址
scanf("%3d,%3c",&a,&c);//格式不匹配的输入
printf("%d,%c",a,c);//输出变量终值
}