c ++显示法院来信的奇怪结果

c++ weird result from showing lettters from cout

我是编程新手,我开始阅读一些 c/c++ 书籍以更好地理解。所以我不是新手,我会直奔主题。我想制作一个程序来显示从 a 到 z 的所有字母,所以我制作了 2 个程序。一个在 C 中,另一个在 C++ 中。 C 中的一个按预期工作,这是代码:

#include <stdio.h>

void alfa(){
char c;
    for(c='A'; c<='Z'; ++c)
       printf("%c ",c);
}

int main()
{
    alfa();
    getchar();
    return 0;
}

但 C++ 中的另一个显示“[”或数字..

#include <iostream>
using namespace std;

void alphabet(){
    char abc;
    for(abc='A'; abc<='Z'; abc++);
    cout<<abc;
}

int main(){
    cout<<"This will show letters from a to z"<<endl;
    alphabet();
    cin.ignore();
    return 0;
}

PS:如果我在一个函数中编写 C++ 程序,它就可以工作……但我仍在学习,我希望它被调用。谢谢

您在 for 循环之后有一列 ;。正如 tadman 所述,for 循环因此不运行。

for(abc='A'; abc<='Z'; abc++)
    cout<<abc;

您还可以加上一些括号以确保您在编写第一段代码时没有犯任何错误。

for(abc='A'; abc<='Z'; abc++) {
    cout<<abc;
}