请人检查一下程序哪儿由问题
/********************************************************//* 程序:1.cpp */
/* 作者:mxtk */
/* 功能:编写一个程序,将用户输入的由数字字符和非 */
/* 数字字符组成的字符串中的数字提取出来。例如,*/
/* 输入“sjd48fioa4525sdf33w",则产生的数字分别 */
/* 为48、4525、和33。 */
/* 时间:2008年3月8日 */
#include<stdio.h>
#include<stdlib.h>
# define LEN 256
int getline(char *s,int len);
void main()
{
char line[LEN],b[20],*ptr1,*ptrb;
int n=0,j,a[50];
getline(line,len);
ptr1=line;
while(*ptr1!='\0')
{
ptrb=b;
for(j=0;*ptr1<='9';ptr1++,ptrb++,j++)
*ptrb=*ptr1;
if(j>0)
{
*ptrb='\0';
*(a+n)=atoi(b);
n++;
}
if(*ptr1!='\0')
ptr1++;
}
printf("output number:\n");
for(j=0;j<=n;j++)
printf("%d\n",*(a+j));
}
int getline(char *s,int len)
{
int c;
printf("input number:");
char *p=s;
while(--len>0&&(c=getchar())!='\n')
*s+=c;
*s='\0';
return(s-p);
}
我在VC6.0下编译时提示说 指针\1.cpp(17) : error C2065: 'len' : undeclared identifier
执行 cl.exe 时出错.
----------------解决方案--------------------------------------------------------
注意大小写。。。。
----------------解决方案--------------------------------------------------------
你是说getline(line,len);这一行吗 我改成大写后程序编译能通过 但是得不到所要求的结果
----------------解决方案--------------------------------------------------------
/********************************************************/
/* 程序:1.cpp */
/* 作者:mxtk */
/* 功能:编写一个程序,将用户输入的由数字字符和非 */
/* 数字字符组成的字符串中的数字提取出来。例如,*/
/* 输入“sjd48fioa4525sdf33w",则产生的数字分别 */
/* 为48、4525、和33。 */
/* 时间:2008年3月8日 */
#include<stdio.h>
#include<stdlib.h>
#define LEN 256
int getline(char *s,int len);
void main()
{
char line[LEN],b[30],*ptr1,*ptrb;
int n=0,j,a[50];
getline(line,LEN);
ptr1=line;
while(*ptr1!='\0')
{
ptrb=b;
for(j=0;*ptr1>='0'&&*ptr1<='9';ptr1++,ptrb++,j++)
*ptrb=*ptr1;
if(j>0)
{
*ptrb='\0';
*(a+n)=atoi(b);
n++;
}
if(*ptr1!='\0')
ptr1++;
}
printf("output number:\n");
for(j=0;j<n;j++)
printf("%d\n",*(a+j));
printf("%d",n);
}
int getline(char *s,int len)
{
char c;
char *p=s;
printf("input number:");
while(--len>0&&(c=getchar())!='\n')
*s++=c;
*s='\0';
return(s-p);
}
----------------解决方案--------------------------------------------------------