两个改错题
///file 01
#include <iostream>
#include <string.h>
using namespace std;
class mystring
{
public:
char* pdata;
mystring(int len)
{
pdata = new char(len);
}
};
void fun(mystring** array, int len)
{
mystring* old = *array;
*array = new mystring(2*len);
memcpy(*array, old, len);
delete old;
}
int main()
{
mystring str(20);
mystring* pstr = &str;
mystring** ppstr = &pstr;
strcpy(str.pdata, "hello, andylin");
fun(ppstr, 20);
return 0;
}
///
#include <iostream>
#include <string.h>
using namespace std;
char* str1 = "hello, andylin";
char str2[20] = "/0";
void foo(char* a, char* b, int len)
{
switch (len & 0x7)
{
default:
while (len > 7)
{
len -= 8;
*b++ = *a++;
case 7:
*b++ = *a++;
case 6:
*b++ = *a++;
case 5:
*b++ = *a++;
case 4:
*b++ = *a++;
case 3:
*b++ = *a++;
case 2:
*b++ = *a++;
case 1:
*b++ = *a++;
}
}
}
int main()
{
foo(str1, str2, strlen(str1));
cout << "str1 = " << endl;
cout << str1 << endl;
cout << "str2 = " << endl;
cout << str2 << endl;
}