c ++从cout中显示字母的奇怪结果

use*_*909 -1 c++ cout function call

我是编程新手,我开始阅读一些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;
}
Run Code Online (Sandbox Code Playgroud)

但是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;
}
Run Code Online (Sandbox Code Playgroud)

PS:如果我在一个函数中创建了c ++程序它可以工作......但我仍然在学习,我希望它被调用.谢谢

Jér*_*ucq 7

循环;后有一列for.正如tadman所说,for循环因此没有运行.

for(abc='A'; abc<='Z'; abc++)
    cout<<abc;
Run Code Online (Sandbox Code Playgroud)

您还可以放置一些括号,以确保在编写第一段代码时没有犯任何错误.

for(abc='A'; abc<='Z'; abc++) {
    cout<<abc;
}
Run Code Online (Sandbox Code Playgroud)