请编写一个程序,定义一个字符串a,向字符串a输入若干个字符,然后计算该字符串的有效长度?
方法1:
#include <stdio.h>
#include<string.h>
int main()
{
char a[100];
int len;
gets(a);
len = strlen(a);
printf("%d\n", len);
return 0;
}方法2:
#include <stdio.h>
#include<string.h>
int main()
{
char a[100];
int i=0;
gets(a);
while(a[i])
i++;
printf("%d\n", i);
return 0;
}
#include <stdio.h>
#include<string.h>
int main()
{
char a[100];
int len;
gets(a);
len = strlen(a);
printf("%d\n", len);
return 0;
}方法2:
#include <stdio.h>
#include<string.h>
int main()
{
char a[100];
int i=0;
gets(a);
while(a[i])
i++;
printf("%d\n", i);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-04-29
您好,这样:
#include <stdio.h>
#include <string.h>
void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr)
{
int i, j, k;
i = 0;
j = 0;
k = 1;
*pOutputStr = *pInputStr;
while (pInputStr[i])
{
for (j = 0; j < k; ++ j)
{
if (*(pOutputStr + j) == *(pInputStr + i))
{
break;
}
}
if (j == k)
{
*(pOutputStr + k) = *(pInputStr + i);
++ k;
}
++ i;
}
*(pOutputStr + k) = 0;
}
int main()
{
char buf1[20] = {0};
char buf2[20] = {0};
printf("请输入字符串:\n");
scanf("%s", buf1);
stringFilter(buf1, strlen(buf1), buf2);
printf("%s\n", buf2);
return 0;
}
#include <stdio.h>
#include <string.h>
void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr)
{
int i, j, k;
i = 0;
j = 0;
k = 1;
*pOutputStr = *pInputStr;
while (pInputStr[i])
{
for (j = 0; j < k; ++ j)
{
if (*(pOutputStr + j) == *(pInputStr + i))
{
break;
}
}
if (j == k)
{
*(pOutputStr + k) = *(pInputStr + i);
++ k;
}
++ i;
}
*(pOutputStr + k) = 0;
}
int main()
{
char buf1[20] = {0};
char buf2[20] = {0};
printf("请输入字符串:\n");
scanf("%s", buf1);
stringFilter(buf1, strlen(buf1), buf2);
printf("%s\n", buf2);
return 0;
}