为您找到"
C语言int a=100, *p=&a为什么打印了来的是100呢
"相关结果约100,000,000个
简单说下,int *P这里只是声明一个指针P而已,你可以 比如有数组A,然后把指针P指向数组A(你可以理解为现在P就是数组A的快捷方式),那么 P[3]= A[3],P[2]=A[2],P[i]=A[i], 因为快捷方式嘛……
&在c语言中是逻辑与的意思。&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。在C语言中,&有三种作用,分别如下:1、取地址。单目运算符。用来取一个变量的地址。2、位操作中的与操作运算符。也就是常说的and...
因为在C语言中,代表获取地址的内容,& 代表获取地址,然后根据运算符的优先级,与 & 优先级相同,并且都是从右到左,所以上面的式子可以理解为 (&a[1]),即先获取a[1]的地址,然后再获取其中的内容。所以两个符号一起用,就等价于*(&a[1])== a[1]。
p指向a,q指向b,后续并没有对p和q更改值的操作(只有对*p赋值)所以定义后面的两句等同于 a=b a=b 两次一样的操作 最终a为0,b不变也是0
格式化字串一般包括 : %s(字符串) %c(单字符) %d(整数) %lf(double) %f(float) ,后面的argument一定要是地址类型变量,当变量名就是对应的指针变量时,就不需要加&符号了。 &是地址运算符,意思是获得变量的地址。如:char str[100];int i;scanf("%s", str ); //str本身就...
结果是4 应该这样理解: (*p++)+=a; p初始化时指向b[0] p++执行后指针向后移了一位指向b[1]了,所以结果是4
include<stdio.h>main(){int n,i,j,k,m;while(1){scanf("%d",&n);m=0;for(i=1;i<=100;i++)//5分 for(j=1;j<=100;j++)//2分 for(k=1;k<=100;k++)//1分 if((i*5+j*2+k==150)&&(k+j+i<100)){ printf("%d\t5分%d枚,2分%d枚,1分%d枚...
p=&a;//&a的结果是一个指针,类型是int*,指向的类型是int,指向的地址 是a的地址。 *p=24;//*p的结果,在这里它的类型是int,它所占用的地址是p所指向的地 址,显然,*p就是变量a。 ptr=&p;//&p的结果是个指针,该指针的类型是p的类型加个*,在这里是int **。该指针所指向的类型是p的类型,这里是...
答案:B p = &a ;p指向a的存储空间 a= *p + b; *p此时a的存储数值为10,即a = 11。