C程序设计 (第四版) 谭浩强 习题8.6
习题 8.6 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法1:
#include <stdio.h>
#include <stdlib.h>
int length(char *s); //定义长度函数
int main(){
char str[20], *p=str;
printf("Please enter string: "); //输入字符串
gets(p);
printf("The string length is %d\n", length(p)); //调用长度函数并输出字符串长度
system("pause");
return 0;
}
//长度函数
int length(char *s){
int i;
for(i = 0; *s++; i++);
return i;
}
方法2:使用指针,动态分配内存
#include <stdio.h>
#include <stdlib.h>
#define N 100
void initialStr(char **str, int n){
*str = (char*)malloc(n * sizeof(char));
}
void inputStr(char *str){
printf("Enter String: ");
gets(str);
}
void outputLen(char *str){
int i;
for(i = 0; *str++; i++);
printf("String Length: %d\n", i);
}
int main(){
char *str = NULL;
initialStr(&str, N);
inputStr(str);
outputLen(str);
free(str);
system("pause");
return 0;
}