问题 单项选择题

下面程序的功能是( )。
#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。如此反复,最后统计出字符串中的空格个数。

单项选择题
单项选择题