关于C++字符数组的一个问题

2024-11-23 03:02:25
推荐回答(6个)
回答1:

char *str="AABBCCDDAABBCCDD";
str这个变量存储的是常量字符串"AABBCCDDAABBCCDD"的地址,这个字符串存储在常量存储区,不允许修改;

你可以改成char str[]="AABBCCDDAABBCCDD";
这样声明一个字符数组;数组由"AABBCCDDAABBCCDD"初始化,可修改数组元素

if(str[i]='B')是赋值语句,不是比较语句,比较语句用if(str[i]=='B')

回答2:

str[i]='B'
改成
str[i]=='B'
str指向静态常量区的只读字符串

回答3:

if(str[i]='B')
//改为:=改==
if(str[i]=='B')

回答4:

#include
改为#include
C++标准中是不用.h后缀的
然后在这句话下面加上using namespace std;
表示使用std命名空间,基本上C++程序都要加上这句话的

回答5:

先给指针分配空间

回答6:

#include
void main()
{

int numB=0;
char *str="AABBCCDDAABBCCDD";
for(int i=0;i<16;i++){
if(str[i]=='B') //==,!=,>,<,>=,<=才是所需要的逻辑运算符,而=是算术运算符
{
numB++;}
}
cout<}