【发布时间】:2017-05-19 01:01:21
【问题描述】:
我尝试编写一个 C++ 函数来检查 char 在给定字符串中是否为大写字母。
这是我的尝试:
#include<iostream>
#include <conio.h>
#include<string>
using namespace std;
int iscapital(char x)
{
if (x>='A'&&x<='Z') return 1;
else return 0;
}
main()
{
char a[20];int len; int c=0;
cout<<"enter your line: ";
cin>>a;
len=strlen(a);
for (int i=0;i<=len;i++)
iscapital(a[i]);
if (iscapital)
{
c++;
}
cout<<"capital letter in string is: "<<c;
}
【问题讨论】:
-
校验码需要自己写吗?如果不使用
isupper -
或者locale-enabled
isupper,如果你关心的不是英文ASCII。 -
@FredLarson - C 的
isupper也是区域敏感的。它使用全局语言环境。 -
不应该
main是int main()?我也看到你在学习,我强烈建议你学习std::string,像strlenchar x[100]这样的东西更像C方式而不是C++做事方式。而且,你写了if(iscapital)我猜你的意思是if(iscapital(a[i]))
标签: c++