#include <iostream>using namespace std;int count (char a[]);void main (){ char b[100]; int i,j=0; cout<<"输入字符串:"<<endl; cin.getline(b,100); char a[]=count (b[100]); cout<<i<<endl;}int count (char a[]){ char b[100]; int i,j=0; for(i=0;b[i]!='\0';i++) { if((b[i]>=65&&b[i]<=90)||(b[i]>=97&&b[i]<=122)) j++; } return j;}还是不对啊。程序没错,但是无论输入什么,输出都是1
//应该可以了#include <iostream>using namespace std;int count (char b[]); void main (){ char b[100]; int i,j=0; cout<<"输入字符串:"<<endl; cin.getline(b,100); i=count (b); //调用时不能写count(b[100]), //而且返回值是int类型,不是char[]类型,不能那样写 cout<<i<<endl;}int count (char b[]) //a改为b{ //char b[100]; 删掉这行,用你传进来的数组 int i,j=0; for(i=0;b[i]!='\0';i++) { if((b[i]>='a'&&b[i]<='z')||(b[i]>='A'&&b[i]<='Z')) //ascii码不记得就这样写 j++; } return j;}
#include <iostream>using namespace std;int count (char a[]);void main (){ char b[100]; int i,j=0; cout<<"输入字符串:"<<endl; cin.getline(b,100); i=count (b); cout<<i<<endl; getchar();}int count (char a[]){ char b[100]; int i,j=0; for(i=0;b[i]!='\0';i++) { if((b[i]>=65&&b[i]<=90)||(b[i]>=97&&b[i]<=122)) j++; } return j;} char a[]=count (b[100]); 这句错了 两个错count的参数错了 返回值是int类型的 改成 i = count(b)
char a[]=count (b[100]);换成int a=count (b);就好了 因为你传给形参的是一个地址就好了 所以呢就写b 然后返回的是int型的 所以不能定义字符数组,还有就是cout<<i<<endl;这个干吗呢 应该cout<<a<<endl; 然后再函数的字符数组b不应该这样的,正确的程序应该是这样的#include <iostream>using namespace std;int count (char a[]);void main (){ char b[100]; int i,j=0; cout<<"输入字符串:"<<endl; cin.getline(b,100); int a=count (b); cout<<a<<endl;}int count (char a[]){ int i,j=0; for(i=0;a[i]!='\0';i++) { if((a[i]>=65&&a[i]<=90)||(a[i]>=97&&a[i]<=122)) j++; } return j;}