C语言,第25题,求详解

Python012

C语言,第25题,求详解,第1张

a=p==&m

把p==&m的返回值赋给a。因为p没有指向m,所以p和&m不等,返回值0,所以a被赋予0

b=

(

-*p

对*p取负

)

/

(*q)+7

=

(

-4

)

/

6

+7

=

0

+7

所以b=7

因为输出是

printf("%d

",a)

printf("d

",b)

所以指定输出格式是

0

d

要是最后那个输出是卷面印错了的话,那就是0和7

#include

<stdlib.h>

#include

<stdio.h>

#include

<time.h>

/*用到了time函数,所以要有这个头文件*/

#define

MAX

10

int

main(

void)

{

int

number[25]

=

{0}

int

i

printf("请输入25个任意整数:\n")

for(i=0i<MAXi++)

scanf("%d",&number[i])

printf("输入的25个任意整数为:\n")

for(i=0i<MAXi++)

printf("%d

",number[i])

printf("\n")

srand((unsigned)

time(NULL))

/*播种子*/

printf("随机取的一个数为:%d",number[rand()

%

MAX])

printf("\n")

return

0

}

手动输入25个整数,程序自动随机输出25个数之内的一个数。

你不想手动输入也可以,那就先对数组进行赋值,源程序中把数组赋值那部分去掉就OK了!

选C

A中的p是一个指向整型变量的指针,但没有赋初值,即没有指向具体的变量.

改成:

int

a,*p=&a

scanf("%d",p)就可以了

B同A,因为S没有指向具体的变量.

D因为s是指向整型变量的指针,而p是指向字符型变量的指针,不能执行s=p操作.