猿问

看看为啥不行,关于C语言的指针

#include<stdio.h>
#include<stdlib.h>
int main(){ int i, j, a[4] = { 5, 8, 6, 3 }, *p = a;
for (i = 1; i <= 3; i++)
{
    for (j = 0; j < 4 - i; j++)
    {
        int tem;
        if (a[j] > a[j+1])
          {
                 tem = a[j];
    a[j] = a[j + 1];
     a[j + 1] = tem;
     printf("*(p+1+j)=%d i=%d  j=%d  ", a[j + 1], i, j); }
}
}
printf("\n");
for (i = 0; i <= 3; i++)
{
printf("%d ", *(p + i));
}
/*int i,j,a[4] = { 5, 8, 6, 3 },*p=a; for (i = 1; i <= 3; i++) { for (j = 0; j < 4 - i; j++) { int tem; if (*(p+j) > *(p+1+j)) { tem=*(p+i); *(p + i) = *(p + 1 + j); *(p + 1 + j) = tem; printf("*(p+1+j)=%d i=%d  j=%d  ", *(p + 1 + j), i, j); } } }printf("\n"); for (i = 0; i <= 3; i++) { printf("%d ", *(p+i)); }*/ printf("\n"); system("pause"); return 0;}

五千年终于轮到我
浏览 1489回答 3
3回答

jfhdibrbfjd

我帮你改完了 你看看行不行啊

jfhdibrbfjd

可以的#include<stdio.h>  #include<stdlib.h>  int main(){     int i, j, a[4] = { 5, 8, 6, 3 }, *p = a;   for (i = 1; i <= 3; i++)   {       for (j = 0; j < 4 - i; j++)      {           int tem;           if (a[j] > a[j+1])             {              tem = a[j];             a[j] = a[j + 1];             a[j + 1] = tem;     }     }  }  printf("\n");  for (i = 0; i <= 3; i++)   {  printf("*(P+%d)==%d ",i,*(p + i));   printf("\n");  }     printf("\n");       *(p+3)=NULL;     system("pause");     return 0;   } 

灬elliott

*p=&a;
随时随地看视频慕课网APP
我要回答