大师帮忙看一下c语言指针问题。

作者&投稿:章贱 (若有异议请与网页底部的电邮联系)
C语言初学者,求看一下这道指针的问题~

Int x[10],p=*x;
则正确引用x数组元素的是
a p+1 p是一个整形变量,其值为*x,即数组第一个元素,p+1与x数组无关
b x[4] 正确 引用第五个元素
c *(p+1) 严重错误,*后面只能是指针变量,p是个整数,所以会出现异常
d *x 正确,相当于x[0]

选B的原因
AC错误原因相同,数组下标从0开始,小于数组大小,所以是取不到x[10]的,只能取到x[9]
D错误的原因是pt+3是一个地址,不是元素,取元素需要加*,即*(pt+3);

Int x[10],p=*x;
则正确引用x数组元素的是
a p+1 p是一个整形变量,其值为*x,即数组第一个元素,p+1与x数组无关
b x[4] 正确 引用第五个元素
c *(p+1) 严重错误,*后面只能是指针变量,p是个整数,所以会出现异常
d *x 正确,相当于x[0]


c语言,我新手,麻烦大师帮我看一下,下边的程序哪错了?
include"stdio.h"#define P 3.1415926float v(float a);\/\/函数要声明int main()\/\/有些编译器的main函数必须要有返回值{float x,y;printf("请输入半径");scanf("%f",&x);y=v(x);printf("%f",y);return 0;}float v(float a){ float v; v=(4\/3)*P*a*a*a; return v;} ...

大师帮忙看一下c语言指针问题。
c *(p+1) 严重错误,*后面只能是指针变量,p是个整数,所以会出现异常 d *x 正确,相当于x[0]

各位C语言大师,帮忙看看我哪里错了?
include <string.h> void inverse (char str[]); \/\/最好加上类型!void main() \/\/最好加上类型!{ char str[100];printf("input string:");scanf("%s",str);inverse(str);printf("inverse string: %s\\n",str);} void inverse (char str[]) \/\/最好加上类型!{ char t;i...

C语言大师过来看看~~
我咋看也看不出来这个没错...如果这个程序没错,那_C_APP_UARTP_GLOBAL_这个宏在别的头文件里出现过.但如果头文件重复了这个程序还是一样有错.

用c语言编程,急求,大师帮忙,所有的分了。。。
include<stdlib.h> include int main(){ int n,i;float u[100];float *p=u;int a,b;srand(unsigned(time(NULL)));scanf("%d%d%d",&n,&a,&b);for(i=0;i<n;i++){ p[i]=rand()%(b-a)+a;} for(i=0;i<n;i++)printf("%.2lf ",p[i]);puts("");return 0;} ...

C语言大师帮帮忙
printf("\\t%.2f\\t%s\\t%s\\t%s\\t%s\\t%s\\t%.2f\\t%.2f\\t%s\\t%c\\n",p[i].x,p[i].sn,\\ p[i].gr,p[i].tm,p[i].dt,p[i].it,p[i].sal,p[i].bon,p[i].name,p[i].lev);} int main(int argc,char *argv[]){ struct A x[3]={{63.5,"1001","男","2018-...

哪位C语言大师帮帮忙,帮我看下这段代码哪里有错?谢谢!
include<stdlib.h> main(){ int n,x,i,one,two,three,four,five,six;float one_1,two_1,three_1,four_1,five_1,six_1;printf("请输入投掷次数:\\n");scanf("%d",&x);i=0;one=two=three=four=five=six=0;do { n=1+rand()%6;printf("%d \\n",n);if(n==1){one++;} i...

C语言大师帮我看看这是什么情况!谢谢!
这个应该是编译环境的编译规则的差异,看不到你报错的完整原因,不过从你出错的行数,应该是你的main函数是int型返回,但函数体没有返回,在printf("max=%d\\n",c);后面一行加上return 0;试试,或者int max(int x,int y);函数的声明提到main函数之前....

C语言纠正,大师帮我看看吧!
int isprime(int n){ int i;for(i=2;i<n;i++) \/\/这个判断范围就不说你了,自己想 if(n%i==0) return 1; \/\/能整除就不是素数(怎么能返回1呢)? 返回值搞反了!!else return 0;}

求大师帮忙做一下,c语言重谢,急急急,先做后好评,绝对
include <stdio.h>#include #define NUM 10 \/\/用宏设置题目的个数int main (int argc, char *argv[]){int i; \/\/控制循环次数int result = 0; \/\/用于保存每次的计算结果int correctNum = 0; \/\/保存正确的数目int m = 0, n = 0; \/\/两个加数int t = 1, d = 10;srand...

长宁区19546141850: C语言指针问题 -
彩翰敏迪: p 是个指针变量,存放地址 例如:p=a; a[10]=“012345678”; 这里 a是个指针,但存放的地址固定,为 0 的地址,即数组的首地址 p是个指针变量,存放的地址可变,这里先存放地址a,即0的地址 这样,则p[i]永远等价于*(p+i) 意思是 p指向0,如果让他指向1 则加 1位,即 p+1,但是p+1 仍是地址,要取得该地址的内容则 要在前面加上 * 号,即 *(p+1) 为元素 p[1] 或 a[1] 以此类推!

长宁区19546141850: 有两道C语言指针方面的问题,其大家帮忙看一下(具体疑问在每题后面的括号里)1.若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,0},*p=a;则不能表示a... -
彩翰敏迪:[答案] 1.p=a以后,p-a=0; 2.double占用八个字节的存储空间,所以p++后,为65490+8=65498

长宁区19546141850: C语言指针问题 用指针实现两个字符串的连接 我这个程序一运行就死机,请高手帮忙看看问题在哪? -
彩翰敏迪: 出错的地方:for(i=0;s2[i]!='\0';i++) {p[j+1]=&s2[i]; j=j+1;} 原因:在上一个循环中i已经指向了下一个填充的地方,而j+1则让这个地方跳过去了,该地址没有被更新,于是,最终程序访问了非法的地址.改正:p[j]=&s2[i];

长宁区19546141850: C语言中,关于指针的基础问题,望有高人指点 -
彩翰敏迪: 指针也是一种数据类型,所以在C中也必须先定义在使用.和其他的定义一样如整型(int),指针类型的也可以在定义时赋值,就是这样int *p=&i1,但是如果去掉类型说明int该语句不成立.p=&i1是赋值语句,使用前必须定义p为指针类型.int *p=&i1是声明语句,包含两层一定义p为整型指针,二将p赋值为&i1.你可以比较着int a=1000;和a=1000;这两个语句不要被*和&弄晕了!

长宁区19546141850: C语言指针刚刚学,请大佬帮忙看看这个问题出在哪里了,然后麻烦给解释一下.感谢感谢 -
彩翰敏迪: 倒数第三行函数调用错了不能*m,而是m;上图这样写是让函数指向了一个m的地址值,而不是m的值;

长宁区19546141850: c语言中的指针问题 -
彩翰敏迪: 指针计算问题 首先分析***(pp+1) 因为pp是一个数组指针,也就是说pp里面中的每个元素都是一个指针,因此pp+1就是使指针pp指向数组中的下一下元素的地址,也就是&pp[1]的地址,那么后面的就好计算了***(pp+1)=***(&pp[1])=**pp[...

长宁区19546141850: 帮忙解答下C语言基础指针问题 -
彩翰敏迪: int *p=&c 相当于 int *p; p=&c; 这还真不好说 指针是c的精华也是难点 定义的时候 要做申明 *p表示这是个关于p的指针当然对应的就是地址&c 但是定义之后 用的时候 *p就表示p这个指针的首地址上的数据 说的我都有点绞了 多看看例子

长宁区19546141850: C语言中关于指针问题 -
彩翰敏迪: 我刚刚在VS2010里试了一下, B和C都是错的.计算机题目应该都是单选的, 所以有可能是你有一点的笔误, B如果是(*w+1)[4]就正确了.首先我给你一个最简单的我自己总结的方法吧, 要想从数组或者指针中取数据的话, 要满足这个公式(...

长宁区19546141850: C语言的指针问题 -
彩翰敏迪: 数组名就是他的首地址,也相当于指针在编译器编译的过程中数组会退化为指针,而且你需要注意的是*p定义的时候是char *p,a = 2,赋值的时候是p = & a;也就是说*p= a;因此p才是指针而不是*p,p中存放的是变量的地址;*p表示的是p的地址...

长宁区19546141850: 帮我看下这个c语言指针的问题
彩翰敏迪: int **p;//定义了一个二级指针 (int **)a //将a强制转换成2级指针. 所以这句话连起来就是 把a强制转换成 int型的2级指针后赋值给二级指针int型的p.明白了吗

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网