问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言写了一个小程序,统计输入字符串长度的。函数调用不太会,请大侠帮忙调试一下

发布网友 发布时间:2022-04-26 21:44

我来回答

2个回答

热心网友 时间:2023-11-06 20:39

#include<stdio.h>//头文件只需要这个

int strll(char *str );   //函数名字不能用strlen否则不会出结果的 strlen是内置函数

int main()
{
char *astr;//应该为指针
astr = "abc";
strll(astr);    //指针直接过去 不必再加寻址符
return 0;
}

int strll(char *str )
{
int length = 0;
while( *str++ != '\0')
length +=1;
printf("length = %d\n",length);
return length;
}

帮你改好了  按照你的改的,主要有几个部分函数名字不能用strlen 否则会有重复声明的报警和错误。strlen为内置函数。  开始声明 astr应该为指针类型,要不不能赋值字符串

追问我明白了!!
还有一个疑问: 字符串赋值,为什么是astr = "abc";呢?

astr不是指针吗?存放的不是地址吗?我以为应该这样赋值:
*astr = "abc"

追答字符指针可以直接赋值的 表示直接指向他的地址。你的那句话的确写的麻烦。最简洁的
当然是 char *asrt="abc";

热心网友 时间:2023-11-06 20:40

strlen( &astr ); /*调用函数,完成字符串统计*/

上边这一句改为
strlen( astr ); /*调用函数,完成字符串统计*/
字符串名本身就表示地址

试试追问astr是一个char型变量, strlen函数需要的是一个指针,所以要用&操作符。
去掉这个操作符。程序运行报错。

追答没有仔细看你的astr声明;
astr声明错误;
改为char*astr
因为若只是char,只是单个字符而非字符串
而你的astr=“abcd“明显是字符串

热心网友 时间:2023-11-06 20:39

#include<stdio.h>//头文件只需要这个

int strll(char *str );   //函数名字不能用strlen否则不会出结果的 strlen是内置函数

int main()
{
char *astr;//应该为指针
astr = "abc";
strll(astr);    //指针直接过去 不必再加寻址符
return 0;
}

int strll(char *str )
{
int length = 0;
while( *str++ != '\0')
length +=1;
printf("length = %d\n",length);
return length;
}

帮你改好了  按照你的改的,主要有几个部分函数名字不能用strlen 否则会有重复声明的报警和错误。strlen为内置函数。  开始声明 astr应该为指针类型,要不不能赋值字符串

追问我明白了!!
还有一个疑问: 字符串赋值,为什么是astr = "abc";呢?

astr不是指针吗?存放的不是地址吗?我以为应该这样赋值:
*astr = "abc"

追答字符指针可以直接赋值的 表示直接指向他的地址。你的那句话的确写的麻烦。最简洁的
当然是 char *asrt="abc";

热心网友 时间:2023-11-06 20:40

strlen( &astr ); /*调用函数,完成字符串统计*/

上边这一句改为
strlen( astr ); /*调用函数,完成字符串统计*/
字符串名本身就表示地址

试试追问astr是一个char型变量, strlen函数需要的是一个指针,所以要用&操作符。
去掉这个操作符。程序运行报错。

追答没有仔细看你的astr声明;
astr声明错误;
改为char*astr
因为若只是char,只是单个字符而非字符串
而你的astr=“abcd“明显是字符串

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
好听简单的店铺名字店铺好听的名字大全 ...还脱皮。一年四季都这样,夏天能好一点,冬天严重时怎么回事啊?应该怎 ... 手,脚一年四季脱皮怎么办 地铁跑酷 地铁跑酷鼠小意会回归吗? 印度国家安全卫队身经百战 飞机驾驶室的机舱门在飞行时关闭么?为什么会有劫机成功的案例,不... 为什么中国不会劫机 急求翻译几个句子! 急求!!翻译句子!在线等! 我们和公婆住一起,大姑子每周末都过来耍 微信小程序获取一个字符串的值 JAVA如何用正则表达式判断一个字符 它必须是数字组成且“-”必须是在数字中间!谢谢 汇编 写小程序 判断字符串是否相等 如何用java编写一段可判断string数组中是否有某个字符串的小程序? 求编一个小程序C++:判断一个数是否是质数,考虑异常情况。 java的一个小程序,判断输入数字的位数,要用到异常处理 JAVA判断字符串的小程序,有点问题! Java 怎样判断输入的不是数字 帮忙看一个java小程序,输入命令行参数,判断是否为正整数 如何用Java正则表达式检测字符串是否是数字组成的 用VB设计小程序,自动判断输入的字符是字母字符、数字字符还是其他字符? ...&#65532; 谁有《楼下的房客》电影资源,求分享 谁有电影楼下的房客的资源 谁有《楼下的房客》电影完整版资源,百度云,迅雷都可以 楼下的房客电影百度云 求一部电影 楼下的房客 求电影 楼下的房客 楼下的房客电影 求楼下的房客电影资源,百度云的 谁有《楼下的房客》电影资源,求分享 各位大哥帮小弟做个汇编小程序拉,拜托拉,最好有流程图.. 怎么统计一个字符串里各个字符及数字的个数? 会使水冰冷的白凉粉是什么东西? OPPO手机开不了机,一直在重复着开机怎么办? 我跟朋友承包个人的一个分包工地,木工,跟个人老板签的劳务承包合同。只有甲方是老板名字还有身份证号。 oppo手机无限重启三种方法 oppo一直震动重启且无法进入 木工劳务分包(包清工)包给个人可以吗,需要资质吗? 木工是劳务分包还是专业分包 急!急!急!联想笔记本电脑“Q&quot;这个键按不出来了怎们办 手提电脑q键不停自己打出来,怎么办 联想笔记本电脑自动不停按q 为什么我的笔记本电脑从开机就一直按q键 该怎么解决啊!? 由于以前搞过QQ安全验证,现在用手提电脑上Q都要验证,用密码卡或用绑定的手机发信息。请问怎样解除? 笔记本电脑键盘按q出现q1,按w出现w2,是键盘坏了还是怎么回事? 方正小标宋简体字体怎么装到word? 我电脑里所有word文档的“楷体_GB2312”的字体的都变成了“方正小标宋简体&quot; 华为M5可以外接网线吗? Type-C的手机网线转接头去哪里找? 请问华为秘盒可不可以接网线,用有线网口?