#include <stdio.h>
void main( )
{ int a[5]={1, 3, 5,7, 9}, *p;
p=&a[0];
printf("*p=%d\n", *p++);
(*p)++;
printf("*p=%d\n", *(++p)); }
程序输出结果: *p=1
*p=5
不知道你问什么,解释一下吧
#include <stdio.h>#include <stdio.h> void main () { int a[5]={1,2,3,4,5}; int *p...
这题的关键在int *ptr=(int *)(&a+1);这一句上,&a表示取得数组a存储区域的首地址,再加1表示数组a存储区域的后的地址,这就使得ptr指针指向数组的最后一个元素后面的那个存储单元的地址,而ptr减1后,再进行数据访问,则访问的是ptr指针的前一个存储单元的值,所有最后的答案是2,5 ...
#include <stdio.h> void main(){ int a[4][5]={1,2,4,-4,5,-9,3...
include <stdio.h> void main(){ int a[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};int i,j,n;\/\/前面这两行无需说明。n=9;\/\/变量赋值 i=n\/5\/\/除法,舍去小数部分,i=1 j=n-i*5-1;简单计算,j=9-1*5-1=3 printf("a[%d][%d]=%d\\n", i,j,a[i][j])...
int a[5]={1,2,3,4,5} 当i=0时,输出后4个元素; 当i=1时,输出后3个元素...
include "stdio.h"\/\/ void main(void){ int a[5]={1,2,3,4,5},i;printf("请输入0,1,2,3或4!\\ni=");while(1){ scanf("%d",&i);if(i>=0 && i<5) break;printf("错了!只能输入0,1,2,3或4!i=");} for(i++;i<5;printf("%d ",*(a+i++)));printf("\\n");...
#include<stdio.h> main() { int a[5],i ; int *p=a,t; for(i=0;i<...
你的程序不全,你试试这个程序吧。scanf的接收标准输入流的参数必须是一个地址。include<stdio.h> void main(){ int a[5],i,max;for(i=0;i<5;i++)scanf("%d",&a[i]);for(i=1,max=a[0];i<5;i++)if(max<a[i])max=a[i];for(i=0;i<5;i++)printf("a[%d]=%d\/n",...
n#include<stdio.h> main() {int a[5]={1,2,3,4,5},b[5]={0,2,1,3...
嗯。。。答案是5.。大概题目错了吧、、、第一次循环s是3,再加第二次循环的2,答案是5
void main(void) { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1...
int a[5]表示a是一个有5个int型数据的数组,&a表示取a数组的地址,一维数组的地址是首个元素所在的地址,所以&a+1代表的是a这个数组本身在进行+1操作,即&a加了1个5个int型,跳到了a[5]后面的地址 看一下这个题的变种
#include<stdio.h> void f (int *p); main() {int a[5]={1,2,3,4...
include<stdio.h> void f (int *p);void main(){ int a[5]={1,2,3,4,5},*r=a;f(r); \/\/将首地址a传给函数p printf("%d\\n",*r); \/\/由于是值传递,即将r的值传给p,但是没有改变r的值,\/\/此时*r的值既是a[0]} void f (int *p){ p=p+3; \/\/将p所指向的地...
编一函数将一维整型数组a[5]={1,3,5,7,9}的元素倒置存放。(要求使用指 ...
你也可以用常规的定义一个临时变量进行值的交换)。include <stdio.h> int main(){ int i,a[5]={1,3,5,7,9},*p0=a,*p1=&a[4];while(p0<p1)p0^=*p1,*p1^=*p0,*p0++^=*p1--;\/\/打印倒置后的数组 for(i=0;i<5;printf("%d ",a[i]),i++);return 0;} ...
...#include<stdio.h> main() { int a [5]={1,2,3,4,5},i,*p=a; fo...
这个是输出 1 2 3 4 5
#include<stdio.h> void f (int *p); main() {int a[5]={1,2,3,4...
结果:41 f(r)把r指向的地址传给p,p加3后指向4的地址,但是r的值是不会被改变的,还是指向1