C++ 程序不显示输出

c++ program does not show output

本文关键字:输出 显示 程序 C++      更新时间:2023-10-16

代码打印
A
B B C C C

D D D E
E

#include<iostream>
using namespace std;

int main() { 
int j = 70;
char ch = ' ';
int k = 65;
int n = j - k;
for(int i = 1; i <= n; i++) { 
for(int m = 1; m <= i; m++) {
ch=(char)(k);    
cout<<(k+"  ");      
}
cout<<endl;
k++;
}
return 0;
}

请确定我在Linux(Ubuntu(上运行的代码中的错误

+是一个二进制加法运算符,所以当你这样做(k+" ")时,你实际上是在循环中将65,66,67,68 and 69添加到" "(字符串文字(的指针地址。 这是未定义的行为。

因此替换您的

cout<<(k+"  ");      

cout<<ch<<"  ";

错误出在行cout<<(k+" ");为了解释正在发生的事情,让我们考虑k = 2和常量字符 []"bacd"。 然后2 + "bacd"与从"bacd"的第二个位置使用字符指针相同。 因此cout << k + "bacd";cd打印为输出。

所以k+" "等效于从 " 的第 k 个位置开始的字符指针

错误位于以下行中:

cout<<(k+"  ");