#include
#include
using namespace std;
void main()
{
char *str1 = new char;
char *str2 = new char;
int num1, num2;
int num;
cout << "**********比较两个字符串大小************" << endl;
cout << "输入两个字符串" << endl;
cin.getline(str1,50);
cin.getline(str2,50);
num1 = strlen(str1);
num2 = strlen(str2);
cout << "输入你要比较的字符个数:";
cin >> num;
int n=strncmp(str1, str2, num);
if (n > 0)
cout << str1 << "字符串大于" << str2;
else if (n=0)
cout << str1 << "字符串等于" << str2;
else
cout << str1 << "字符串小于" << str2;
delete str1;
str1 = NULL;
delete str2;
str2 = NULL;
}
str1、str2分配空间不够,应该new一个数组。
你说断点? 什么意思? 是程序运行到哪里就暂停了?
你的str1 和 str2 指向了一个字符串常量。 文字常量 是程序结束后,由系统自己回收的。而你在 delete str1 的时候 其实 你在尝试 delete 一个文字常量区 -。- 所以~~~~~~~~~