当前位置: 代码迷 >> C语言 >> 怎么判断输入的结束
  详细解决方案

怎么判断输入的结束

热度:338   发布时间:2006-12-05 22:47:46.0
你的意思就是说具体要输入元素的个数一开始是不知道了,只是在输入时,自己想结束的时候,才结束?
----------------解决方案--------------------------------------------------------
getch()!=eof
----------------解决方案--------------------------------------------------------
[em01恩 就是这意思,回车后就结束,不知道怎么写
----------------解决方案--------------------------------------------------------

看了斑竹和那朋友的指导,又写了下面的代码,运行不了,断点测试不起作用,能帮看看吗,谢了!
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void main()
{
int *p=NULL,m=0,*q=NULL;
int n=0,i;
p=(int *)malloc(2*sizeof(int)); //申请存放个数和结束标志空间
*p=0;
for(q=p+1;getch()!=EOF;q++) //q指向下一个申请空间的地址 getch()获取的是什么
{
scanf("%d",&m); //总觉得这个地方有问题
q=(int *)malloc(sizeof(int));
*q=m; //q的值为输入的数
n++;
}
*p=n; //动态数组第一个元素为数字个数
for(i=0;i<=n;i++)
printf("%d ",*(p+i));
}


----------------解决方案--------------------------------------------------------

# include<stdio.h>
void main()
{
int *p,*a=NULL,i,m=0;
char ch;
printf("input numbers:\n");
while(1)
{
p=(int *)malloc(sizeof(int));
scanf("%d",p);
++m;
*a=*p;
++a;
ch=getchar();
if(ch=='\n')
break;

}
for(i=0;i<m;i++)
--a;
for(i=0;i<m;i++)
{
printf("%d ",*(a+i));
free(p);
}
getch();
}
看看这个符合条件不????


----------------解决方案--------------------------------------------------------
  相关解决方案