1,C语言初学者指针习题

答案是A。 第一个很好理解,第二个表面上看是和第一个一样的,但是有语法错误。数组名就相当于一个静态指针,不能进行运算array++;如果第二个改成ptr++;x=*ptr就和第一个一样的了。
答案是:A
选A了。 第二个 array 是数组首地址。

C语言初学者指针习题

2,C语言指针习题解答

int a,b[5]; // 声明a=0; b[0]=3; // 初始化func(&a,b); // 相当于b[0]=a+6; 即b[0]=0+6;printf("%d\n", b[0]); // func为传址调用,b[0]为6答案为6,原因见上面的注释。二楼正解。如果是考题,就不用多想了。如果是自己写的,第一,b[5]未完全初始化,应该避免。第二,func中应当对指针参数的合法性进行判断,避免非法调用。

C语言指针习题解答

3,C语言中的指针编程题

#include#include #include main() { char s1[100] = C语言初学者指针习题; char s2[100} = C语言初学者指针习题; printf("input s1:\n" ); scanf( "%s",s1 ); printf("input s2:\n" ); scanf( "%s",s2 ); char *p = strstr( s1,s2 ); printf( "开始的地址%ld",p ); getch(); }

C语言中的指针编程题

4,C语言编程题目 指针

#include"stdio.h" #include"string.h" void main() char *p="12345678"; char *str; gets(str); if (strcmp(p,str)<0) printf("More Samller!"); else if printf("More larger!"); else printf("相等"); }

5,3道关于C语言指针的题目

第三题和第四题LZ已经给出答案了。。还要问什么呢?? 第五题的错误是输入完成的时候,指针p已经指向a的最后了。而输出的时候p继续后移,明显已经指向a之外了,正确的做法应该是输出的时候让p重新指向a的首地址。代码如下: main() p=a; for(j=0;j<10;j++) scanf("%d",p++); for(j=0,p=a;j<10;j++,p++)//让p重新指向a的首地址 printf("%d",*p); } 第二小问的修改是不行的,因为a是数组名,不是指针,它可以代表数组的首地址,但不是像指针一样进行指向移动的操作。如果要类似的操作的话,应该是用指针指向首地址,然后用指针移动指向并输出。。如下代码,黑体表修改: main() p=a; for(j=0;j<10;j++) scanf("%d",p++); for(p=a;p<(a+10);p++) printf("%d",*p);}

6,c语言关于指针的例题

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;}不是就交换了吗?????
指针指向的内存地址的值发生交换,但指针自身指向的地址是不变的,没错啊。指针自己的值没有变,原来指向20#的现在还是指向20#,但20#桌坐的女生已经和30#桌的换了。
#include<stdio.h>void main() /*main写错了!*/int a[3][3]=int *p;for(p=a[0];p<a[0]+9;p++)printf("%3d",*p); /*p也是,应该是小写才对。。*/}

7,C语言编程题指针

#include<stdio.h>#include<stdlib.h>#include<string.h> struct Bookprivate: char covername[20]; char author[20]; double price; public: void inbook(char _covername[],char _author[],double _price) strcpy(covername,_covername); strcpy(author,_author); price=_price; } void outbook() printf("书名:%s,作者:%s,价格:%lf\n",covername,author,price); } }; int main() char covername[20]; char author[20]; double price; Book b[5]; for(int i=1;i<=5;++i) fflush(stdin); printf("输入书名:"); gets(covername); printf("输入作者:"); fflush(stdin); gets(author); printf("输入价格:"); scanf("%lf",&price); b[i-1].inbook(covername,author,price); } for(int j=0;j<5;++j) b[j].outbook(); } system("pause"); return 0;}

文章TAG:c语言指针编程题及详解c语言  语言  指针  
下一篇