[问题描述】编写一个程序使用户输入2个字符串,使用指针和函数计算两个字符串的长度并输出。编写两个函数:第一个函数计算一个字符串的长度,第二个函数输入字符串。然后编写一个测试程序来调用该函数。 【输入形式】2个字符串 【输出形式】2个整数 【样例输入】 China Australia 【样例输出】 5 9 用c语言编写指针函数 #include <iostream> #include <string> using namespace std; int length(char *p)
时间: 2024-02-22 10:56:38 浏览: 26
抱歉,我是一个Python语言的AI语言模型,无法编译和运行C语言代码,但是我可以提供C语言的代码示例,您可以在本地的C编译器中测试运行。
以下是您所需的程序代码:
```c
#include <stdio.h>
void input_string(char *str) {
printf("Enter a string: ");
scanf("%s", str);
}
int calculate_length(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str1[100], str2[100];
int len1, len2;
input_string(str1);
len1 = calculate_length(str1);
printf("Length of string 1: %d\n", len1);
input_string(str2);
len2 = calculate_length(str2);
printf("Length of string 2: %d\n", len2);
return 0;
}
```
运行程序后,您将被提示输入两个字符串,程序将计算并输出每个字符串的长度。
相关问题
利用指针,实现输入字符串,调用的自定义一个函数计算字符串长度并输出
以下是一个利用指针实现计算字符串长度的示例代码:
```c++
#include <iostream>
using namespace std;
int strLength(char* str) {
int len = 0;
while (*str != '\0') { // 指针指向的字符不为'\0',即未到字符串结尾
len++;
str++; // 指针后移一位
}
return len;
}
int main() {
char str[100];
cout << "请输入字符串:";
cin >> str;
int len = strLength(str);
cout << "字符串长度为:" << len << endl;
return 0;
}
```
在该代码中,定义了一个指向字符类型的指针`char* str`,它指向字符串的首字符。通过循环判断指针指向的字符是否是字符串结尾的标志字符`\0`,来计算字符串长度。每次循环完成后,指针后移一位,指向下一个字符,直到指针指向字符串结尾。最终返回字符串的长度。在`main()`函数中,调用`strLength()`函数计算字符串长度并输出。
编写一个函数计算一个字符串的长度,并在主函数输出长度,用指针完成
下面是使用指针完成计算字符串长度的代码示例:
```c
#include <stdio.h>
int str_len(char *str)
{
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main()
{
char str[] = "hello world";
int len = str_len(str);
printf("The length of \"%s\" is %d\n", str, len);
return 0;
}
```
在上面的代码中,`str_len` 函数接受一个指向字符串的指针作为参数,并使用指针遍历字符串中的每个字符,直到遇到字符串结束符 `\0`。在遍历过程中,每次遇到一个非结束符的字符,就将长度加 1。最后返回计算得到的字符串长度。
在主函数中,我们定义了一个字符串 `str`,并使用 `str_len` 函数计算其长度,并将结果输出。