下面程序的功能是( )。 #include <iostream> #include <string> using namespace std; int main () {int i=1, n=0;char s[80],*p;p=s;strcpy(p,"It is a book..");for (; *p !=’ \0’ ;p++){ if(*p==’’) i=0; else if (i==0) { n++; i=1; }}cout<<"n=" <<n<<end1;return 0; }
A.统计字符串中的单词个数
B.统计字符串中的空格个数
C.统计字符串中的字母个数
D.统计字符串中的全部字符个数
参考答案:B
解析: 本题通过for循环对字符串进行扫描,遇到’\0’结束扫描。程序首先将i的值置为1,n的值置为0。在for循环中,通过if语句判断*p指向的字符是否为空格,如果是空格则将i的值置为0,而在else if语句,如果i的值为0,则n++,然后将i的值重新置为1。如此反复,最后统计出字符串中的空格个数。