www.zhnq.net > C语言指针经典例题

C语言指针经典例题

利用指代替下标进行数组编程:从健盘输入8个整数放入数组,然后将每个奇数加1,每个偶数减1,最后输出数组的所有元素.程序如下:main() { int a[8],*p; /*定义变量和数组*/ for(p=a;p<a+8;p++) scanf("%d",p);/*输入*/ for(p=a;p<a+8;p++) { if(*p%2==0) (*p)--; else (*p)++; } for(p=a;p<a+8;p++) printf("%d\t",*p); /*一个个输出*/ } 其实指针和数组是一个东东,数组名就是一个指针,如果个这例子看不懂,再问!!!

#include&lt;stdio.h&gt;void main(){ int a=5; int *p; *p=5; printf("指正*p的值是%d",*p)}还有好多那```以后你会知道的````指针 其实很简单的````如果你还要 给我来短信吧`#include&lt;stdio.h&gt;#define N 5void main(){ int a[N]={1,2,3,4,5}; int *p; *p=a; //指针 指向数组a的第一位元素 printf("指正*p的值是%d",*p)}

void main() { int *p,a=3; p=&a; printf("%d",*p); } 我觉得这个例子很经典,取地址,最后把地址处的值输出出来.

关键在scanf("%d",p++)这里:先读一个数p,然后再读一个数(p后面的数),接着在读一个数(p后面的后面的数),以此类推;换句话说,这个p++在scanf中的作用类似于它在for语句中的作用,都是实现循环操作,即完成“*(p+i)=a[i]”的过程

函数指针告诉CPU下一步需要执行哪里的代码的指针, 一数组十分相像.#include void function(int i, double d) //一个函数的声明{ printf("函数运行, %d, %lf\n", i, d);}void AnotherFunction(int i, double d) //另外一个函数声明{ printf("又一个函

void swap(int*,int*)函数接受的是一个指针,就算你可以理解成它拷贝了值,是,它拷贝了&x,&y到*a,*b里了,但是,你没有发现,*a其实还是指向x吗?这样一交换,不就结了吗.举个例子.假设x的地址为0x0069857(乱编的),然后,传递进函数的时候,它只是传值,并没有传引用,然后呢,int *a把0x0069857复制为自己的值.这样一来,还记得解引用吗?*(a)=*(0x0069857)=x,因此t=*a不是就可以翻译成t=x;x=y;y=t;}不是就交换了吗?????

1) 选(D) int *p = &a; 2) 选(B) 1 3) 选(C) p1=&m;p2=p1; 4) 选(D) 3 5) 没有图啊,怎么做??A,B当中肯定有一个是对的 6) 选(A) 17 7) 选(C) i = *(*(x+1)); 8) 选(B)-5 -12 -7 9) 选(A) Basicasic sic ic c

main() { char *p1,*p2,str[50]="abcdefg"; p1="abcd";//p1指针指向字符串abcd的首地址 p2="efgh";//p2指针指向字符串efgh首地址 strcpy(str+1,p2+1);//指针移一位所指的字符串fgh 复制到 str[1]这个位置(从这个位置开始往后覆盖) 即afghefg

号啊大哥.还有,你的算法正确吗?这一步交换; for(;i<=n;i++) { t=*(s+i); *(s+i)=*(s+n-i); *(s+n-i)=t } 简直就是好玩,换过去了,又换过来.写成:for(;i<=n/2;i++) { t=*(s+i); *(s+i)=*(s+n-i); *(s+n-i)=t } 就行了.还有啊,写程序的时候,要注意风格!宁愿程序长一点,也要有好的风格.要不写得公不公,母不母的,只会让自己的程序变得难看.

个人认为: (1)printf(PF,a,*a,a[0],&a[0],&a[0][0]); //a、&a[0]表示整个数组的起始地址,其他三个表示数组第0行的起始地址跟整个数组的起始地址相同 printf(PF,a+1,*(a+1),a[1],&a[1],&a[1][0]);//a+1、&a[1]表示数组第1行的起始地址,其他三个表

网站地图

All rights reserved Powered by www.zhnq.net

copyright ©right 2010-2021。
www.zhnq.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com