找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1723|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

在網(wǎng)上看到一道C語言指針題,求分析

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
#include<stdio.h>
int *p;
main()
{
int a=1,b=2,c=3;
p=&b;
pp(a+c,&b);
        printf("(1) %d %d %d\n",a,b,*p);
}
pp(int a,int *b)
{
int c=4;
*p =*b+c;
a=*p-c;
        printf("(2) %d %d %d\n",a,*b,*p);
}
結(jié)果是: (2) 2 6 6
            (1) 1 6 6




我認(rèn)為是 (2) 2 2 6
              (1) 1 2 6


大家說說看。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:235200 發(fā)表于 2019-9-27 18:01 | 只看該作者
(2) 2 6 6
(1) 1 6 6
這個(gè)結(jié)果是對(duì)的
回復(fù)

使用道具 舉報(bào)

板凳
ID:235200 發(fā)表于 2019-9-27 18:07 | 只看該作者
主程序調(diào)用pp(a+c,&b);時(shí) 即pp(4,2);  在子程序中*p=2+4=6 , a=6-4=2 ,子程序中的*b是b變量的地址,通過這一條語句*p =*b+c;已經(jīng)改變?yōu)?了
回復(fù)

使用道具 舉報(bào)

地板
ID:617312 發(fā)表于 2019-9-27 19:13 | 只看該作者
我沒仔細(xì)看代碼,但我看到p=&b;而且沒有其它地方對(duì)p進(jìn)行賦值,即p中存的是b的地址,所以*p和b的值應(yīng)該是相同的,所以你的記過應(yīng)該不對(duì)。
回復(fù)

使用道具 舉報(bào)

5#
ID:617312 發(fā)表于 2019-9-27 19:15 | 只看該作者
還有你提問時(shí),你說你認(rèn)為結(jié)果是什么,你應(yīng)該把你這么認(rèn)為的原因也寫出來,方便別人給你分析,如果有問題更容易指出來。
回復(fù)

使用道具 舉報(bào)

6#
ID:577820 發(fā)表于 2019-9-27 20:01 | 只看該作者
我得到的結(jié)果也是
(2) 2 6 6
(1) 1 6 6
看了樓主的結(jié)果,只能說樓主對(duì)指針理解的不夠透徹
回復(fù)

使用道具 舉報(bào)

7#
ID:592807 發(fā)表于 2019-9-27 21:38 | 只看該作者
你p=&b的時(shí)候就已經(jīng)確認(rèn)國*p=b關(guān)系了,
回復(fù)

使用道具 舉報(bào)

8#
ID:149144 發(fā)表于 2019-9-27 22:56 | 只看該作者
我這個(gè)人比較懶,不喜歡算算算……

20190927225216.png (2.33 KB, 下載次數(shù): 72)

就這樣啊

就這樣啊
回復(fù)

使用道具 舉報(bào)

9#
ID:142699 發(fā)表于 2019-9-28 00:22 | 只看該作者
主要是取了地址,進(jìn)入函數(shù)以后一起改變了,所以答案是沒錯(cuò)的
回復(fù)

使用道具 舉報(bào)

10#
ID:370779 發(fā)表于 2019-9-28 10:59 | 只看該作者
有圖有真相

1.png (2.33 KB, 下載次數(shù): 49)

1.png
回復(fù)

使用道具 舉報(bào)

11#
ID:498638 發(fā)表于 2019-9-28 11:05 | 只看該作者
指針指向了那個(gè)變量,所以是266和126
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表