| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
#include "stdio.h" 
#include "conio.h" 
 
void main() 
{ 
        void Reverse(char a[5]); 
        char b[5]; 
        int i; 
 
        printf("Please input five characters: "); 
 
        for(i=0;i<5;i++) 
        { 
                scanf("%c",&b[i]); 
        } 
 
        Reverse(b[5]); 
         
 
        printf("The reverse order: "); 
         
        for(i=0;i<5;i++) 
        { 
                printf("%c ",b[i]); 
        } 
         
        printf("\n"); 
         
        getch(); 
} 
 
void Reverse(char a[5]) 
{ 
        int i,j; 
        char temp; 
        for(j=4;j>0;j--) 
        { 
                for(i=1;i<=j;i++) 
                { 
                        temp=a[i-1]; 
                        a[i-1]=a[i]; 
                        a[i]=temp; 
                } 
        } 
} 
 
指针与数组的深层概念还不是很清楚!在此先谢过各位!
 本帖最后由 无符号整形 于 2018-8-4 17:35 编辑 
18行。
  
- #include "stdio.h"
 
 - #include "conio.h"
 
  
- void Reverse(char a[5]);//养成一个好习惯,参数放在外面
 
  
- int main()//因为c99规定,int main更加规范。
 
 - {
 
 -         char b[5];
 
 -         int i;
 
  
-         printf("Please input five characters: ");
 
  
-         for(i=0;i<5;i++)
 
 -         {
 
 -                 scanf("%c",&b[i]);
 
 -         }
 
  
-        Reverse(b);//此处不能是b[5]
 
 -         
 
  
-         printf("The reverse order: ");
 
 -         
 
 -         for(i=0;i<5;i++)
 
 -         {
 
 -                 printf("%c ",b[i]);
 
 -         }
 
 -         
 
 -         printf("\n");
 
 -         
 
 -         getch();
 
 -         return 0;//要return
 
 - }
 
  
- void Reverse(char a[5])
 
 - {
 
 -         int i,j;
 
 -         char temp;
 
 -         for(j=4;j>0;j--)
 
 -         {
 
 -                 for(i=1;i<=j;i++)
 
 -                 {
 
 -                         temp=a[i-1];
 
 -                         a[i-1]=a[i];
 
 -                         a[i]=temp;
 
 -                 }
 
 -         }
 
 - }
 
  复制代码
至于指针和数组嘛……你可以这样理解:
 数组即指针,数组指向一连串的数据。 
指针不一定指向一个变量,它也可以指向一连串的数据。 
所有的数组在编译器看来都是指针。 
指向一连串数据的指针可以通过偏移量来访问。 
什么是偏移量呢?举个例子
 - *(pointer+1)//pointer是一个指针。单单引用pointer表示它的地址,pointer+1表示pointer的下一个数据,*(pointer+1)表示取pointer的下一个数据
 
  复制代码
你一定也见过这种用法,这种用法会被编译器解释成上面的用法。
 
你明白了吗?不明白还可以问哦~   
 
 
 |   
 
 
 
 |