让用户输入整数,直到输入-1结束,并打印出输入的整数
本帖最后由 菜鸟0 于 2019-10-13 17:59 编辑#include<stdio.h>
#include<stdlib.h>
int main(void){
int a,count;
int *ptr=NULL;
printf("请输入一个整数(-1代表结束):");
scanf("%d",&a);
while(a!=-1){
for(int i=1; ;i++){
ptr=(int *)realloc(ptr,(i+1)*sizeof(int));
scanf("%d",&ptr);
count+=1;
if(ptr==-1)
break;
}
break;
}
printf("你输入的整数是:\n");
for(int i=0;i<count;i++){
printf("%d",ptr);
}
putchar('\n');
free(ptr);
return 0;
}
最后打印无法实现是为什么?其他的运行没有错,这样打印不可以吗?希望朋友们帮帮忙,确实不知道。 本帖最后由 jackz007 于 2019-10-13 19:07 编辑
试试这个代码:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a , k , count ;
int * ptr = NULL ;
for(count = 0 ; a != -1 ;) {
printf("请输入一个整数(-1代表结束):") ;
scanf("%d" , & a) ;
if(a != -1) {
ptr = (int *) realloc(ptr , sizeof(int) * (count + 1)) ;
ptr = a ;
}
}
printf("你输入的整数是:\n") ;
for(k = 0 ; k < count ; k ++) printf("%d\n" , ptr) ;
free(ptr) ;
}
jackz007 发表于 2019-10-13 19:04
试试这个代码:
嗯嗯,谢谢,可以的,只是我想知道我的为什么不行
页:
[1]