解释C语言语句:momset(word,0,21)?

Python037

解释C语言语句:momset(word,0,21)?,第1张

memset

原型:extern void *memset(void *buffer, int c, int count)

用法:#include <string.h>

功能:把buffer所指内存区域的前count个字节设置成字符c。

说明:返回指向buffer的指针。

举例:

// memset.c

#include <syslib.h>

#include <string.h>

main()

{

char *s="Golden Global View"

clrscr()

memset(s,'G',6)

printf("%s",s)

getchar()

return 0

}

相关函数:bzero,setmem,strset

二元组是用来表示一维数组的(数组数据稀疏是可以节省空间)。二元组一般写成m[x][2]。x表示一维数组的长度,2是指二元即这个用于表示一维数组的二维数组只有两列。二元组的本质是二元数组,用途是更节省空间的表示一维数组。

例如一个一维数组a[10]其内容为0 0 1 0 4 0 0 0 9 0 这样10个元素分别放在a[0]~a[9]中。看这个数组中到多是0,那么我们可以这样想:我记录非零位置的位置号和数组值,零的可以不记录,那么用二元组来存就是三个元素而已:2,1 4,4 8,9,这个二元组的意思是a[2]中是1 a[4]中是4 a[8]中是9 其他位置都是零。可以看出二元组其实就是固定为两列的行的一个二维数组。用这个二维数组的第一列表示一维数组a[x]的x,用第二列表示一维数组a[x]的值。

引自:

http://zhidao.baidu.com/link?url=hynvCxLCTH6mtaGImGtjEErlAjon9gG70g5Dsttoh1oosOIjFXX-mP9cS5WFMOM1BQq3orIiPhxzX4_9Xl8E7K

#include<stdio.h>

int main(int argc,char **argv)

{

    int a[20]

    int inputnum=0,i,j

    int min_num

    int flag=0

    int rtn=0

    printf("你想求几个数的公约数?\n")

    scanf("%d",&inputnum)

    if(inputnum<2 || inputnum >20)

    {

        printf("数的个数应大于2个小于20个!\n")

return 0

    }

    printf("input %d numbers:\n",inputnum)

    /*for(i=0i<inputnumi++)

    {

printf("now,input the %d number:",i+1)

        scanf("%d",&a[i])

    }*/

for(i=0i<inputnumi++)

{

scanf("%d",&a[i])

printf("a[%d]=%d\n",i,a[i])

}

    min_num=a[0]

    for(i=0i<inputnumi++)

    {

        if(min_num>a[i])

        {

            min_num=a[i]        //找到最小的数

        }

    }

    for(i=1i<=min_numi++)

    {

        for(j=0j<inputnumj++)

        {

            if(a[j] % i==0)

                {flag++}

        }

            if(flag==inputnum)

            {

                rtn=i

            }

            flag=0

    }

    

    printf("最大公约数是:%d\n",rtn)

    return 0

}

测试过了,没什么问题。望采纳。