一道C语言指针的题目求大神教教,求大神讲解一下这几道c语言指针题目!!!! 10

2020-12-11 21:08:06 字数 4837 阅读 9046

1楼:璃梦戏子

*p->(->符号就表示指向某地址)a的地址,同理,*q->b的地址,这是最基础的,

把p、q的地址送入fun函数中,fun后面的()就要用到二级指针,**p与&p要等价;

二级指针可以用int定义,这也是为什么fun函数中语句:a和*t用int定义,前者用于**p与**q的交换,交换**在你所写fun程序中的第3—5句,同样,*t用于*p与*q的交换,那么**p本来表示a的地址,*p本来表示a,最后**p、*p分别成为了b的地址、b。

指针的特点是:能改变a、b,a的地址、b的地址在主函数中的值,所以最终输出都倒过来了。为什么地址可以用1、2表示呢?无需纠结,在定义为int整形类型后,在数值上a=&a

求大神讲解一下这几道c语言指针题目!!!! 10

2楼:自我编程

看不太清。

3题:改错

第4行**:a=*x 这里应该改成 a=&x倒数第2行**:printf(。。。。。,*num)这里应该改成num

求c语言大神指教,指针

3楼:乖乐

题目9:仅仅是对指针的值做了互换,没有通过指针来操作它引用的变量的值,所以变量m,n的值不变。

*p=&m;的作用,把变量m的地址赋值给指针p,指针p指向变量m(指针p中保存了变量m的地址)。*q=&n;同理。

r=p;指针r中保存了指针p的值(也就是变量m的地址);

p=q;指针p的值改变成为q的值(变量n的地址);

q=r;指针q的值变为r的值(变量m的地址);

这3句的目的就是将指针p和指针q的值互换,让他们指向对方曾经指向的变量。

*p,*q的作用是读取指针指向的变量的值。所以现在指针p指向的是变量n,所以输出是2;

q指向的是变量m,所以输出是1

题目10:是通过指针修改变量的值。

*p=*p1*(*p2);相当于c=a*b;所以输出是3

备注:指针前的*的优先级高于乘法的*

4楼:

9.b正确,选b。

10.c正确,选c。

一道c语言指针题,求大神解答,感谢

5楼:匿名用户

int a=,y;

int *p;

//p指向a[1](8)。

p=&a[1];

//--p,使p先自减1,p最后指向a[0]。于是(*--p)等于a[0],y=(*--p)++;等同于y=a[0]++;。y等于5,a[0]最后等于6。

y=(*--p)++;

//输出5,8,6,因为参数按从右往左压入栈中。即先算*p++,又p指向a[0],所以*p++输出6后,p指向a[1];再算*p,输出8;最后算y输出5。

printf(“%d,%d,%d\n”,y,*p,*p++);

6楼:匿名用户

这题目输出的结果

是5,6,6

解析:首先声明一个整型数组a,整形变量y,整型指针p。

p指向数组a的第1个元素,也就是8。

接下来,指针p先--,指向了数组a的第0个元素,也就是5。之后y取出p指向的内容,即5。之后p指针指向的内容又累加,即数组a的第0个元素从5变成了6。

因此打印输出y的内容是5,*p的内容是6,*p++的内容还是6(printf()执行完之后指针才移动,黄花菜都凉了)。

一道 c语言 指针题目 求大神解答 50

7楼:匿名用户

题目不难,但是有点烦的,建议你自己做做。

给你一些知识点:

在堆中申请内存可以用 malloc 或者 new;

然后一开始就把申请的内存全部初始化成0,表示当前位置都没有棋子随机数可以用rand,产生两个 0到n-1的随机数 可以用 rand()%n

记得产生两个随机数之后,判断当前位置是是不是1,就要重新产生。是0表示没有棋子,并修改成1。

打印没有什么难度的。

这个题目还是不错的,认真做。

否则将来毕业了抱怨“中国的大学都是垃圾”,其实自己上学没认真。

一道c语言指针的题目求大神帮我检查下

8楼:匿名用户

错误太多不忍直视!!!

哥哥我给你写了一遍收好

#include

// 递归实现字符串反转

char *reverse(char *p,int n)int i;

int len = n;

char temp;

for( i = 0; i < len / 2; i++ )return p;

}char* upper(char *p,int n)//函数返回值也错了

return des;

}int main()

请问一道c语言指针题目

9楼:匿名用户

a和b都是错

的.a p1是指针. p1-p2是一个常数. 所以 p1+(p1-p2)一样是指针. 赋值为20, 这个是错的.

正确方式为*(p1+(p1-p2))=20b p1+2-p2 这里的p1-p2是常数, 再加上2还是常数. 对齐取值, 为非法操作.

10楼:绽放的花蕾

.1 选择题

1. 若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是(d)。

a. p=q; b. *p=*q; c. a=*q; d. q=a;

a是整型数,

int *p,*q定义了指针,

p,q是指向整型的指针。

p取得a的地址,而q取得p的地址

p,q是指针(也就是一个地址),而*p和*q是这个指针指向的整型数值(存放在这个地址的值)。

a) 把q的地址赋给p,则p和q完全一样了,都指向一个数2

b) 把q中数据个p

c) 把q中数据给a

d) a中数据是2,不能够给一个地址。除非*q=a

2. 若定义:int a=511, *b=&a;,则printf("%d\n", *b);的输出结果为:d

a. 无确定值 b. a的地址 c. 512 d. 511

int a=511,*b=&a;

a 是整形变量

b 是整形指针变量,指向 a

printf("%d\n",*b);就是输出指针变量 b,

所指变量的值输出结果511

3. 已有定义 int a=2, *p1=&a, *p2=&a; 下面不能正确执行的赋值语句是(b)。

a. a=*p1+*p2; b. p1=a; c. p1=p2; d. a=*p1*(*p2);

47、已知在程序中定义了如下的语句:

int *p1,*p2;

int k;

p1=&k;p2=&k;

则下列语句中不能正确执行是( b )

a、k=*p1+*p2; b、p2=k; c、p1=p2; d、k=*p1 * (*p2);

p1 p2是指针,k是整型变量,变量怎么可以赋值给指针呢?

a其实是执行了k=k+k(p1和p2都指向k,所以*p1 *p2其实都是指k)

c是赋值语句

d其实执行了k=k*k

4. 变量的指针,其含义是指该变量的(b)。

a. 值 b. 地址 c. 名 d. 一个标志

5. 若有说明语句:int a, b, c, *d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是(a)。

a. scanf("%d%d%d", &a, &b,

求c语言大神指教指针问题 10

11楼:匿名用户

11.所谓在16位的编译系统上,就是说int是16位的,要占用两个字节

a)由于p的类型是int *所以p++后指向a的第2个元素,p移动的是一个整型单元,2个字节,所以这个选项是错的

b)综上所述,这是对的,一个存储单元,具体的来说是一个整型存储单元

c)一个整型两个字节,所以p移了2个字节是对的

d)p指针=&a[1]=a+1这也是对的

12.p=&a[3];即p指向数组a的第4个元素4,b=p[5];p再向后面找到第5个元素即a[3+5]=a[8]=9

13.p=a后,p可以替代a来访问数组,即p[0]=a[0],p[1]=a[1],...

p+5=&a[5]=a+5,由于p是指针,p+5一定是个地址(*(p+5)这样表示才是值),所以a是对的

12楼:听不清啊

11)a

12)d

13)a

c语言指针++的问题搞不懂?求大神指教

13楼:丿艾瑞灬莉娅

数组名等价于数组第一个元素的地址,a等价于&a[0]

*ptr_a++,先执行输出*ptr_a,再ptr_a++,即指向下一个地址

14楼:匿名用户

答:int *p=&a[1] 即在创建指针p并且初始化的时候将数组a的第二个元素的地址赋值,使得指针指向8的位置,(*--p)++ 就是指针p先自减1(因为p是int类型的指针,所以自减1就是p所存储的地址值减去4个字节)从而使得指针p指向a[0],*是取值运算符,++是后缀形式,所以将5赋值给y后a[0]的值再自加1为6,最后打印y与a[0]的值就是5和6。

一道c语言的题目,求大神解答,一道C语言的题目,求大神解答。 5

1楼 云中鹤隐 while scanf d n 是什么 2楼 心河星尘 你忘记将每次循环前将sum清零了。还有格式等等问题。改法是 include int main sum 0 for b 0 b printf 2f n sum n return 0 3楼 匿名用户 include int main...

一道C语言题目,请大神指教,15、一道C语言题目,请大神指教

1楼 袁世平 include main 2楼 匿名用户 include main 3楼 匿名用户 答案是 1245065 一道c语言编程题,求大神指教! 4楼 匿名用户 include void printdigits int n int main void printdigits int n 恩 ...

请大神指教这道c语言的编程题目,一道c语言编程题,求大神指教!

1楼 string h是字符串库函数,当要引用字符串函数时,比如,strlen sizeof等函数时就必须要用string h库函数。 此题是计算现有字符串的长度和总长度,答案是 4,10,第一个4表示只有4个字符 a b c d 后面的10表示数组总长为10。 2楼 匿名用户 去k资讯看看吧!!!...