int m, p, i, flag = 0;
char* a = new char[100]; //动态分配内存
char* b = new char[100];
while (1) {
cout << endl << "请输入集合1:" << endl;
cin >> a;
int length1 = sizeof(a) - 1;
cout << length1; //输出数组长度
//char* a1 = new char[length1];
for (i = 0; i < length1; i++) {
//a1[i] = a[i];
if (a[i] >= 'a' && a[i] <= 'z')
cout << a[i]; //输出insert到集合的元素
sa.insert(a[i]); //插入元素到集合sa
}
delete[] a;
a = NULL;
你输入的是什么呀
你的length处用错了,sizeof不是用来描述字符串长度的,他描述的是变量类型的字节,double是4字节,减一后就是3