sdut1162(sizeof与strlen区别)
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[80];
int i,j;
// gets(str);//不知道为啥就是不能用gets
scanf("%s",str);
i=strlen(str);
for(j=0;j<i;j++)
{
if(('a'<=str[j]&&str[j]<='z')||('A'<=str[j]&&str[j]<='Z'))
{
// printf("%c",a[j]);
putchar(str[j]);
}
}
putchar('\n');
return 0;
}
区别使用sizeof与strlen
sizeof是位算符,在头文件的类型为unsigned int,其运算值在编译时就计算好了,参数可以是指针、数组、类型、对象和函数等;
strlen是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化为指针了。该函数完成的功能是从代表该字符串的第一个地址开始遍历的,直到遇到结束符NULL。返回的长度大小不包括NULL。