单选题
下面程序的功能是( )。 #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; }
【正确答案】
B
【答案解析】[解析] 本题通过for循环对字符串进行扫描,遇到'\0'结束扫描。程序首先将i的值置为1,n的值置为0。在for循环中,通过if语句判断*p指向的字符是否为空格,如果是空格则将i的值置为0,而在else if语句,如果i的值为0,则n++,然后将i的值重新置为1。如此反复,最后统计出字符串中的空格个数。