char x,y;
scanf("%4c%3c",&x,&y);
输入:abcdefg
输出:fe
仔细观察上面的输入输出,不知道大家有没有什么疑问?
解释:
x, y在程序的栈区保存, 且x地址高于y地址.
%4c读取4个字符, 存入&x为首地址的栈空间, 也就是在x内存入字符a, 在&x+1, &x+2 &x+3存入字符b, c, d
然后%3c再读取3个字符, 存入&y为首地址的栈空间, 即y保存了e, &y+1=&x的内存空间内保存了f, &y+2=&x+1内保存了字符g