|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
写一个函数,求出一个字符串的长度。在main函数中输入字符串,并输出其长度。
#include<stdio.h>
#define N 50
int a(char *str);
int main()
{
char str[N];
scanf("%s",str);
a(str);
return 0;
}
int a(char *str)
{
int i=0;
do
{
i++;
} while (str[i] != '\0');
printf("字符串的长度为%d", i);
return 0;
}
*********************************************************************
#include<stdio.h>
#define N 50
int a(char str[N]);
int main()
{
char str[N];
scanf("%s",str);
a(str);
return 0;
}
int a(char str[N])
{
int i=0;
do
{
i++;
} while (str[i] != '\0');
printf("字符串长度为%d", i);
return 0;
}
这两种方法没有区别:
第一种实参是数组名(将数组的首地址传递给函数),形参是指针(接收主调函数传递过来的数组首地址),然后利用循环(以 str[i] != '\0' 作为循环结束标志)来进行字符串长度的统计(循环多少次,数组长度就是多少,也即字符串的长度是多少)。
第二种实参是数组名(将数组的首地址传递给函数),形参也是数组,表面上两个数组是同一个数组,其实是两个不同的数组,只不过它们使用了相同的数组名字而已(这好比名字叫张三的人,长江路有个张三的,黄河路也有个叫张三的,同名同姓而已,是不同的两个人)。形参的作用也是接收从主调函数传递过来的字符串的首地址,然后利用循环(以 str[i] != '\0' 作为循环结束标志)来进行字符串长度的统计
|
|