#include<stdio.h>
void main( void )
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf("%d,%d",*(a+1),*(ptr-1));
return;
}
答案是2和5
答案正确啊。*(a+1)就是a[1],*(ptr-1)就是ptr[-1](用负数表示下标是非法的,这里只表示从ptr所指的地方向左移一个元素的位置)。那么——
void main( void )c语言看不懂代码,求一步步解释,谢谢
答案正确啊。*(a+1)就是a[1],*(ptr-1)就是ptr[-1](用负数表示下标是非法的,这里只表示从ptr所指的地方向左移一个元素的位置)。那么——void main( void ) { int a[5]={1,2,3,4,5};\/\/使a[0]==1,a[1]==2 ,a[2]==3 ,a[3]==4 ,a[4]==5 int *ptr=(int...
C语言求完数,不能理解这个代码,求大神指教,最好能详细一点。万分感谢...
j <= sqrt(i); ++j) { \/\/从2~根号i检查就够了,因为因子必定是成对出现的if(i % j == 0) { \/\/如果j是i的较小的一个因子sum += j; \/\/累加jtemp = i \/ j; \/\/找出i的另一个因子 if(temp > j && temp < i) \/\/如果j与temp不相重sum += temp; \/\/就加入另...
C语言一道简单的代码,麻烦帮我解析一下,我表示看不懂。。。
跳到if(!ok1) 这里ok1=5 表示非0 ,所以 !ok=0,所以程序接着执行else后面的 if(ok2) 因为ok2=0;所以接着执行a=-1 整个流程是:if (x<y)->if(!ok1)->else->if(ok2)->a=-1
C语言的一些题目:不太理解代码,求详细解释,手写部分看不懂
首先main()是主函数,通俗来说就是一个程序的入口,只能先运行main函数。而题中的fun在main中被调用了,并且传入的参数值是500 从题目中得知,需要取 被13或17整除的数字 下图红框可知,k就是那个除数,也就是500,所以int fun括号中输入的应该是k 所以填入int k 最后题目要求最大十个,我也懒...
大一新生学习C语言,书上代码看不懂理解不了怎么办?
作为大一新生,学习C语言时遇到看不懂书上代码的情况是很正常的。以下是一些建议来帮助你解决这个问题:1.阅读代码注释:在阅读代码时,首先要查看代码中的注释。注释通常会解释代码的功能和实现方式,这有助于你理解代码的结构和逻辑。2.逐行分析代码:将代码分成小块,逐行进行分析。尝试理解每一行代码...
很多C语言开源软件的源代码很难懂,要快速理解有什么技巧吗?
所以看不懂代码就只有提升自己的知识水平,没有捷径可走。但你可以针对性的去训练上述2条中的弱项,语言是基础,算法是核心。记得我第一份工作是做单片机产品维护,平时工作就是在现有的产品上改改功能代码,增加新功能。那个时候没做过什么产品,虽然也会C语言,但是看别人代码就像看天书一样,主要是...
C语言,帮我解释一下,看不懂
第1句,由于程序中使用printf语句,这句包含stdio.h头文件就是向编译程序说明这个函数的调用规则,具体可以百度百科printf,那里告诉你这个函数必须要引用的头文件 第2句,main函数是你的程序开始位置,程序从这里开始执行,前面的void修饰表示这个函数不返回任何值,也说明函数的返回(结束)语句可以写return;...
C语言中有一段代码看不太明白 scanf("%d",&p[i]); :如下。
你这段代码有问题,p是个指针,没有分配空间前,是不能操作的。你这段代码,会造成程序死掉的。int len;int * p;int i;\/\/增加以下两句,程序才可以正常运行,你的问题也就好解释了 int arr[100]; \/\/定义一个数组 p=arr; \/\/p指向数组的首地址 scanf("%d",&len);for (i = 0;i<...
C语言基本代码,求详细解释,越详细越好。
解释如下:include"stdio.h"\/\/头文件 include"math.h"\/\/数学库函数 double pcos(double a);\/\/声明子函数 main()\/\/主函数 { double x,y;\/\/定义x,y这两个双精度数据 printf("please input one number:");\/\/输出please input one number:scanf("%lf",&x);\/\/出入一个数据并赋值给x y=...
...我很难理解。希望C理解的深的给我详细解释解释。Thank you...
1.首先,因为[]优先级(顶级)高于*(次顶级),所以应先算[]。所以先只看(a+i)[j]。2.然后,这里一堆的东西不好看,做个简化:因为a是二维数组的名字,故a+i是第i行的行指针,相当于一个一位数组的数组名。把a+i记作x,那么(a+i)[j] 就可以记成 x[j]。3.由取下标运算的含义:x...