#include <iostream>
void main()
{
for (unsigned short idx =0;idx <65535; idx++)
{
std::cout << idx <<std::endl;
}
std::cout<<"Execution completed!"<<std::endl;
}
#include <iostream>
using namespace std; //(3)包含头文件的库
int main()
{
for (unsigned short idx =0;idx <65535; idx++) //(1)条件需要增加
{
std::cout << idx <<std::endl;
}
std::cout<<"Execution completed!"<<std::endl;
return 0; //(2)返回值
}
2. 本段代码执行完毕后,输出什么结果?
#include <iostream>
using namespace std;
#pragma pack (push,4)
typedef struct TagEntityType
{
unsigned char entityknd:4;
unsigned char domain:6;
unsigned char country:6;
unsigned int category;
unsigned char subCategory;
unsigned int specific;
unsigned char extra;
}TEntityType;
#pragma pack (pop)
int main()
{
TEntityType et;
std::cout << sizeof(et) << std::endl;
return 0;
}
3. 本段代码可能导致什么问题?
#include <iostream>
using namespace std;
void profess(char* dst, char* src, unsigned int length)
{}
int main()
{
srand ((unsigned)time (0));
for (unsigned int idx =0;idx < 1000000000;idx++)
{
unsigned int leng =(unsigned int)(rand()% 100);
char*srcData = new char[leng];
char*dstData = new char[leng*2];
profess(dstData,srcData,leng);
free (srcData);
free(dstData);
}
return 0;
}
正确写法:
#include <iostream>
using namespace std;
void profess(char* dst, char* src, unsigned int length)
{}
int main()
{
srand ((unsigned)time (0));
for (unsigned int idx =0; idx < 100000000; idx++)
{
unsigned int leng = (unsigned int)(rand() % 100);
char* srcData = new char[leng];
char* dstData = new char[leng * 2];
profess(dstData, srcData, leng);
delete[] srcData; // 释放内存
delete[] dstData; // 释放内存
}
return 0;
}
4. 本段代码执行过程中可能导致什么问题?
#include <iostream>
using namespace std;
void swapData(char** dst,char** src)
{
*dst = *src;
}
int main()
{
char* srcData = new char[1024];
char* dstData = new char[1024];
memset (srcData,0x00,1024);
memset (dstData,0xFF,1024);
swapData(&dstData,&srcData);
free(dstData);
free(srcData);
return 0;
}
#include <iostream>
#include <cstring>
using namespace std;
void swapData(char** dst, char** src)
{
char* temp = *dst;
*dst = *src;
*src = temp;
}
int main()
{
char* srcData = new char[1024];
char* dstData = new char[1024];
memset(srcData, 0x00, 1024);
memset(dstData, 0xFF, 1024);
swapData(&dstData, &srcData);
// 现在 srcData 和 dstData 指向不同的内存块
delete[] dstData; // 释放 dstData 指向的内存
delete[] srcData; // 释放 srcData 指向的内存
return 0;
}