读书人

统计字符串个数(简单)解决办法

发布时间: 2012-05-13 16:39:43 作者: rapoo

统计字符串个数(简单)

C/C++ code
#include<stdio.h>int put2(const char * string);int main(void){    printf("%d",put2("abcde"));    return 0;}int put2(const char * string){    int count=0;    while(*string)    {        putchar(*string++);        count++;    }    putchar('\n');/*加不加效果一样,不能吸收'\n'.*/    return count;}

结果显示:abcde 5;
字符串"abcde"+'\0'应该是6位啊,怎么是5位了?就算我不加putchar('\n');都还是5位?

[解决办法]
输出5是正确的,因为当string指向'\0'时,已经推出循环了。'\0'和0是一样的,可以这样认为。
输入的时候,scanf("%c", &ch);才可能会出现垃圾出现在输入的数据中。解决办法是使用getchar();来吸收。

读书人网 >C++

热点推荐