统计英文字母个数程序中的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/26 03:50:53
程序如下:

#include <iostream>
#include <cstdio>
using namespace std;

int count(char *str)
{
int i,num=0;
for(i=0;str[i];i++)
{
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
num++;
}
return num;
}

int main()
{
char text[100];
cout<<"请输入一个英语句子:"<<endl;
gets(text); //字符串输入语句
cout<<"这个句子里有"<<count(text)<<"个字母。"<<endl;
}

我的问题是:
1、为什么要声明一个指针类型的形参?这样声明有什么好处?
2、for(i=0;str[i];i++)语句中初始条件是i=0;终止条件str[i];代表什么意思?是怎么判断终止的?
3、#include <cstdio>具体是对程序中哪一个函数(语句)的头文件说明?

1.因为用指针作为形参,传进函数的是一个地址,也就是地址传递,函数里对参数的修改可以影响主函数。
2.str是字符串,字符串的末尾是‘\0’,也就是结束条件,当str为‘\0’时,循环条件为假,结束循环。
3.那是c语言中用到的所有函数与语法。因为你现在应该是.cpp文件。

1.不传递char指针能传递字符串吗?
2.str[i]就是取字符数组的第i个字符,从0开始。
3.cstdio是对gets。