#include <iostream>
using namespace std;
int main()
{
int i = 0;
int a = 0;
char letters[10] = {'a','B','c','D','e','F','g','H','i','J',};
char c;
while(letters[i])
{
c=letters[i];
if(isupper(c))
{
a+=1;
}
i++;
}
cout<<a;
return 0;
}
只是一个简单的程序来计算数组中大写字母的数量
我不知道为什么,请你好,因为我知道它可能是一些非常愚蠢的我看不到
答案 0 :(得分:2)
您必须初始化变量。修改已声明但从未初始化的变量是未定义的行为。该标准没有指定变量必须默认初始化,因为它们是声明的。
int a; // Value unknown / unspecified at runtime
int a = 0; // Value is known to be 0
此外,如果此循环超过已分配数组的末尾,则此循环会产生未定义的行为。
while(letters[i])
{
...
i++;
}