函数形参用指针变量不太会做,函数形参用数组名和用指针变量两者有什么不同,区别是什?
您是不是放错板块了,我默认您提问是C,代码如下:
#include<stdio.h>
// 函数声明
int str_length(char *str);
int str_length_array(char str[]);
int main()
{
char str[] = "Hello, world!";
// 使用指针作为形参
int length1 = str_length(str);
printf("字符串长度 (使用指针作为形参):%d\n", length1);
// 使用数组名作为形参
int length2 = str_length_array(str);
printf("字符串长度 (使用数组名作为形参):%d\n", length2);
return 0;
}
// 函数定义:使用指针作为形参
int str_length(char *str)
{
int length = 0;
while (*str != '\0')
{
length++;
str++;
}
return length;
}
// 函数定义:使用数组名作为形参
int str_length_array(char str[])
{
int length = 0;
while (str[length] != '\0')
{
length++;
}
return length;
}
上面的代码定义了两个函数来计算字符串的长度,分别使用了指针和数组名作为函数的形参。
在第一个函数 str_length
中,我们使用了一个指针来遍历字符串并统计长度。在第二个函数 str_length_array
中,我们使用了数组名来遍历字符串并统计长度。