printf的问题 printf("%d",a); a是指针变量int b=1,*a=&b;
来源:百度知道 编辑:UC知道 时间:2024/06/25 20:50:09
会输出什么
int b=1;
printf("%d",&b);
别管对不对,会输出1吗
对于标准输出函数没有固定后项
而标准输入函数规定后项是地址
「一定要上机试一试哟」
int b=1;
printf("%d",&b);
别管对不对,会输出1吗
对于标准输出函数没有固定后项
而标准输入函数规定后项是地址
「一定要上机试一试哟」
/* 采用 Win-TC 编译环境
* 程序输出已标注
*/
#include <stdio.h>
int main( void )
{
int b=1,*a=&b;
printf("%x\n",a); /* 输出b所在内存的起始地址,FFC4 */
printf("%x\n",&b); /* 输出b所在内存的起始地址,FFC4 */
printf("%d\n",*a); /* 输出整型变量a所指向的变量的值,1 */
printf("%d\n",b); /* 输出整型变量b的值,1 */
return 0;
}
------- 输出结果 --------
ffc4
ffc4
1
1
自己没上机试吗?时候体会会更深的
printf("%d",a);当然是输出a的值啦,就是也就是b的地址(没法确定答案,随机的,呵呵)
printf("%d",&b);也是输出b的地址啊(我没试过,也有可能编译不通过)
希望对你有帮助