getdata函数c语言 getdata函数功能

编写函数getData()

// 函数以空格分割输入的10位以内的整数,并存放到数组iData[]中

我们提供的服务有:成都网站建设、做网站、微信公众号开发、网站优化、网站认证、和平ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的和平网站制作公司

// 返回值为输入整数的个数

// 数字外字符屏蔽,仅输入循环遇回车符结束

// 所须头文件"stdio.h"

int getData(int iData[]) {

int j=0,i=0;

char ch,str[10];

while(ch=getchar()) {

if(ch=='\n'){

str[j]='\0';

iData[i]=atoi(str);i++;

break;

}

if(ch==' '){

str[j]='\0';

iData[i]=atoi(str);

i++;j=0;

}

if(ch='0'ch='9'){

str[j]=ch;j++;

}

}

return i;

}

请教C语言问题,关于通过函数给结构体成员赋值

不知道你这又是哪位学艺不精的C语言大师编的书,别的不说,那个自定义函数getdata就不规范,居然定义的时候不说明返回值类型,这水平也真敢出书。

从main函数开始读,先定义一个结构体变量a,然后调用getdata函数,其参数是一个类型为指针类型的结构体变量,功能为读入形参结构体变量的s和t变量,把a的地址传入getdata函数,然后读入结构体a中的s,t,然后打印s,t

请C语言高手入内.

最大的问题出在:

1.

getdata()函数中的n,这个值在原程序中没有带回主函数中,所以在执行search()函数时,n值并不是元素的个数。

2.

search()中的if(x!=(a+i))应改为if(x!=*(a+i));

另外,以上两个函数应该在main()之前声明,因为用到了getch()函数,所以要包含头文件conio.h。

修改后的程序如下:

#include "stdio.h"

#include conio.h

#include stdlib.h

void search(int n,int x,int *a);

void getdata(int *a,int* n);

void main()

{ int a[30],n,x;

getdata(a,n);

printf("Enter a number:");

scanf("%d",x);

search(n,x,a);

getch();

}

void getdata(int *a,int *n) /*n声明为指针,这样可以将它的值带回调用函数。

{ int i;

do

{ printf("Enter number of elements(0n30):");

scanf("%d",n);

}while((*n1)||(*n=30));

printf("Enter %d integer numbers:\n",*n);

for(i=0;i*n;i++) scanf("%d",a+i);

}

void search(int n,int x,int *a)

{ int i;

for(i=0;in;i++)

{ if(x!=*(a+i)) continue; //注意这里。

else printf("%d",i);

}

}


当前标题:getdata函数c语言 getdata函数功能
文章来源:http://azwzsj.com/article/hehich.html