C++编程题:编写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 20

求C++大神指导,希望尽快解决,因为过两天要答辩,能帮忙说下编程思路神马的最好了。跪谢。... 求C++大神指导,希望尽快解决,因为过两天要答辩,能帮忙说下编程思路神马的最好了。跪谢。 展开
 我来答
问明6E
高粉答主

2019-06-12 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.9万
展开全部

#include<stdio.h>

#include<stdlib.h>

#define N 1024

int Strlen(char* str) {

int count = 0;

while (*str != '\0') {

count += 1;

++str;

}

return count;

}

void main() {

char str[N];

char* p = str;

printf("请输入str\n");

for (int i = 0, ch = '\0';ch != '\n'; ++i) {

ch = getchar();

if (i >= N) {//当超出字符串长度时, 继续接受键盘输入的字符,直到输入\n为止

/这是为了防止字符串输入完成后输入的字符会被下一个需要输入的数据接收

continue;

}

if (ch == '\n' || i == N - 1) {

p[i] = '\0';

continue;

}

p[i] = ch;

}

printf("这个字符串为:%s\n", p);

printf("这个字符串的长度为:%d\n", Strlen(p));

system("pause");

}

运行效果:

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include&lt;文件名&gt;

2、#include"文件名"

时空魔法
2017-06-13 · TA获得超过249个赞
知道小有建树答主
回答量:424
采纳率:50%
帮助的人:78.1万
展开全部
int i = 1;
while (*ch++ != '\0') //字符串用指针指向, 字符串末尾肯定是\0 所以指到\0的时候结束循环
{
i++; //每循环一次 长度就+1。 
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
数据流谷雨
2013-07-08 · TA获得超过1436个赞
知道小有建树答主
回答量:962
采纳率:60%
帮助的人:443万
展开全部
#include <iostream>
#include <string>
using namespace std;
int changdu(string s)
{
int size;
size=s.length();
return size;
}

int main ()
{
  int chang;
  string str;
  cin>>str;
  chang=changdu(str);
  cout << "The size of str is " << chang << " characters.\n";
  return 0;
}

编得比较难看。。。

还是可以用的

追问
输出的 字符串长度 不对吧
如果 我输入字符串123 那应该是 4 不是 3把 。。
刚才 我又 把 你的 改了一下 就运行正确了
能帮忙加个注释么//。。。比如为什么int size 还有int changdu 还有string什么意思。。
追答
你多输入了一个空格吧,那么就把cin>>str;换成getline(cin,str);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小七说LoRa
2013-07-08 · TA获得超过461个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:234万
展开全部
#include <stdio.h> 
#include <string.h>//使用strlen需要此头文件
int my_strlen(char* str)
{
 char *p = str;
 int count = 0;
 while(*(p++) != '\0')
  count++;
 return count;
}
int main() 

    char str[1024]={0};
 printf("输入您的字符串:\n");
 scanf("%s", str);
 printf("系统函数获得的字符串长度:%d\n", strlen(str));
 printf("自定义获得字符串函数:%d\n", my_strlen(str));
 return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祥龙九霄
2013-07-08 · 超过30用户采纳过TA的回答
知道答主
回答量:101
采纳率:100%
帮助的人:68.3万
展开全部
#include <iostream>
#include <string>

using namespace std;

int strLength(const string strCont)
{
const char* pStr = strCont.data();
string::size_type index = 0;
while(*pStr != '\0')
{
++index;
++pStr;
}

return index;
}

int main(void)
{
string strCont;
cin>>strCont;
strLength(strCont);

system("pause");
return 0;
}
追问
没看到 输出的 长度 。。
追答
没加输出语句,在strLength(strCont)后面再加上cout<<strLength(strCont)<<endl;即可输出结果,你再试下。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式