...有说明:int *p,m=5,n;,以下正确的程序段是 A)p=&n;scanf("%d",&p...

发布网友 发布时间:2024-10-12 14:52

我来回答

3个回答

热心网友 时间:2024-10-18 15:52

显然是D。scanf后面的参数应该是个地址,也就是p或者是&m,&n之类的。AB错误。C中P没有初始化就直接对其指向空间赋值,也是错的,即不知道会将n写到哪个空间中去。D先将P指向的地址赋值为n的地址,然后对P指向的地址赋值为m,即n=m,正确。

热心网友 时间:2024-10-18 15:49

c正确。

热心网友 时间:2024-10-18 15:50

只有D是正确的,选D。
A——scanf("%d",&p);错了,应该是scanf("%d",p);。
B——scanf("%d",*p)错了,应该是scanf("%d",p);。
C——*p=n错了,p还是没有指向的野指针,怎能通过*p向目标赋值?

热心网友 时间:2024-10-18 15:56

显然是D。scanf后面的参数应该是个地址,也就是p或者是&m,&n之类的。AB错误。C中P没有初始化就直接对其指向空间赋值,也是错的,即不知道会将n写到哪个空间中去。D先将P指向的地址赋值为n的地址,然后对P指向的地址赋值为m,即n=m,正确。

热心网友 时间:2024-10-18 15:55

只有D是正确的,选D。
A——scanf("%d",&p);错了,应该是scanf("%d",p);。
B——scanf("%d",*p)错了,应该是scanf("%d",p);。
C——*p=n错了,p还是没有指向的野指针,怎能通过*p向目标赋值?

热心网友 时间:2024-10-18 15:55

c正确。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com