C语言指针题

Python015

C语言指针题,第1张

解析一下 a=p1==&m

执行时,先判断p1是否等于&m;

等于则 p1==&m 值为1,否则为0;

然后 将p1==&m 的值赋值给a;

这个题中 p1是k的地址,&m是m的地址

分配的内存空间 肯定不同

不论他们的值相不相同,他们的地址都不同

所以 p1==&m 的值为0

所以 a=0

输出 0

按照你的要求编写的C语言程序如下

include<stdio.h>

int main()

{

 int a,b

 int *p=&a

 a=30

 printf("a=%d\n",*p)

 p=&b

 scanf("%d",p)

 a=*p+24

 printf("a=%d,b=%d",a,b)

 return 0

}

运行结果

a=30

76

a=100,b=76

#include "stdio.h"

void fun(int a[][6],int n,int m,int *odd,int *even)

{int i,j

*odd=*even=0

for(i=0i<ni++)

 for(j=0j<mj++)

   a[i][j]%2?*odd+=a[i][j]:*even+=a[i][j]

}

int main()

{ int n,m,i,j,a[5][6],odd,even

for(i=0i<5i++)

{ for(j=0j<6j++)

  { a[i][j]=i*6+j+1

    printf("%4d",a[i][j])

  }

  printf("\n")

}

fun(a,5,6,&odd,&even)

printf("奇数之和=%d\n偶数之和=%d\n",odd,even)

return 0

}