位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 数组元素作为函数参数

提问人:刘团圆发布时间:2020-12-01

    数组元素就是下标变量,它与普通变量并无区别。数组元素只能用作函数实参,使用方法与普通变量相同。形参是一个普通变量。参数传递过程为,在发生函数调用时,把数组元素的值传送给形参,实现单向值传送。

【例题】判断字符串中单词数量

判断一字符串中有多少个单词,每个空格隔开的是两个单词。

算法分析:

只需要统计这个字符串中有多少个空格,然后在空格的个数上加1就是单词的个数。加1是因为最后一个单词后面没有空格。

把判断是否是空格的过程定义为一个函数ispaceO,实参是字符数组中的每个元素,形参是一个字符型变量。

ispaceO函数判断每个传递过来的实参,如果是空格,返回1,否则返回0。main()函数中,通过一个循环将每个字符数组元素传递给ispaceO函数进行判断,如果是0,单词个数+1。

程序代码如下:

#include <stdio.h> 

int ispace(char c)

{

    if(c==' ')       /* 如果是空格,返回1,否则返回0 */

        return 1; 

    return 0;

}

main()

{

    char str [30]; 

    int n=0,i;

    printf("input a string!\n"); 

    gets(str);

    for(i=0;str[i]!=0;i++)

{

    if(ispace (str[i]))

    /* 将每个字符作为实参调用count()函数,如果结束函数调用返回值为i,是一个空格,说明是一个单词*/ 

        n++:

    }

    printf("The number words in dialoag is %d\n",n+l);

}

通过【例题】可以看出以下几点:

(1)用数组元素作实参时,只要数组类型和函数的形参类型一致即可,并不要求函数的形参也是下标变量。换句话说,对数组元素的处理是按普通变量对待的。

(2)和普通变量做实参一样,数组元素作为实参在参数传递过程中也是值传递的形式。形参变量和实参数组元素是由编译系统分配的两个不同的内存单元,在函数调用时只是将实参数组元素的值赋予形参变量,形参的改变并不能带回实参数组元素。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部