#include "stdlib.h"
#include "stdio.h"
main()
{
int array[100];
int *temp;
temp=(int*)malloc(sizeof(int)*100);
    for(int i=0;i<100;i++)
{
*temp=i;
temp++;
 
}
for(int j=0;j<100;j++)
printf("temp%d=%d\n",j,*temp++);}
文什么不能输出 1.2.3.4............99.100

解决方案 »

  1.   

    int temp[100];
    for(int i=1;i<=100;i++)
    {
       temp[i-1]=i;
       printf("%d",i);
    }
    这样不好吗?
      

  2.   

    int *temp, *ptr;
    temp=(int*)malloc(sizeof(int)*100);
    ptr = temp;
        for(int i=0;i<100;i++)
    {
    *ptr=i;
    ptr++;
     
    }
    ptr = temp;
    for(int j=0;j<100;j++)
    printf("temp%d=%d\n",j,*ptr++);
    free(temp);}
      

  3.   

    temp指针在第一次循环后已经指到最后了。应该在第二次循环前把指针置到数组的头
      

  4.   

    int *temp;
    temp=(int*)malloc(sizeof(int)*100);
        for(int i=0;i<100;i++)
    {
    *temp=i;
    temp++;
     
    }
    for(int j=0;j<100;j++)
    printf("temp%d=%d\n",j,*temp++);}
      

  5.   

    for(int j=0;j<100;j++)
    {
    printf("temp%d=%d\n",j,*temp);
    temp++;
    }