c - 使用c函数中的指针查找字符串长度的问题
问题描述
我从我的大学得到了一个任务,那就是使用函数中的指针来查找字符串的长度。这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#define max 100
int lengthchar(char *array1[])
{
int a, x = 0;
for (a = 0; *(array1++) != '\0'; a++)
{
x++;
}
return x;
}
int main()
{
char arr1[max];
int length;
printf("Enter string\n");
gets(arr1);
length = lengthchar(arr1);
printf("Length=%d", length);
return 0;
}
但是当我输入以下内容时:
输入字符串:av
长度=9
它显示错误的长度,我的错误是什么?
解决方案
这是因为将字符串指针作为参数传递给函数的方式。
只需更改char *array1[]
为 char *array1或array1[]。
看看下面的实现:
int lengthchar(char array1[])
{
int a,x=0;
for(a=0;*(array1++)!='\0';a++)
{
x++;
}
return x;
}
PS:a
可以使用while循环删除变量。
推荐阅读
- java - https 在生产模式下运行需要很长时间
- datasource - Redash如何更改仪表板数据源?
- typescript - 我如何在 Typescript 中编写静态 Json 对象
- go - 试图将数据解组到golang中的接口中
- android - RecyclerView 使用 ConstraintSet 扩展项目 - 扩展错误的项目/行
- python - csv.Error:您是否以文本模式打开文件?
- html - 自闭标签 - 反模式?
- mysql - 通过在 laravel 和 phpmysql 中添加前缀为 cust001、cust002 来更新现有主键
- python - 启动器中的致命错误:使用 python 运行 django-admin.exe 时无法使用“”创建进程
- django - 如何在 Django 可重用应用程序中进行迁移?