求串长(不使用任何字符串库函数)
问题描述
编写一个程序,输入一个字符串,输出串的长度。
要求:
(1)字符串长度不超过100个字符。
(2)不使用任何字符串库函数,建议使用堆串存储结构。
输入描述
输入一个字符串。
输出描述
输出该字符串的长度。
样例输入
level
样例输出
字符串的串长为5
注意:输入样例中有单个空格,需要使用gets函数,从VS2015版本以后,使用的是新标准,不再支持gets函数,改用gets_s()即可
#include <stdio.h>
#include<stdlib.h>
#define MAXLEN 100typedef struct
{char ch[MAXLEN];int length;
}SString;
void StrAssign(SString &S, char str[])
{int i = 0;while (str[i] != '\0' && i <= MAXLEN){S.ch[i] = str[i];i++;}S.length = i;return;
}
int main()
{SString S;char str[101] = { 0 };gets_s(str);StrAssign(S, str);printf("字符串的串长为%d", S.length);return 0;
}