对大家有帮助的问答会被标记为“推荐”,看完课程过来浏览一下别人提的问题,会帮你学得更全面
void f(int* const p); // 这个p是复制过来的,改了又如何?
void g(const int* p); // p指向的内容是东家的数据,我能动吗?
老师,这里不太理解两个为什么
#include <iostream>
using namespace std;
void swap(int* a, int* b)
{
int t = *a;
*a = *b;
*b = t;
cout<< "aaaa" <<endl;
}
int mid(int a, int b, int c)
{
// 我们心中的目标是: a <= b <= c
if(a > b) swap(a,b);
if(b > c) swap(b,c);
if(a > b) swap(a,b);
}
int main()
{
int a =5,b=2,c=7;
// swap(a,b);
cout<< mid(a,b,c)<<endl;
}
问题1: 为什么Swap 里面的cout 没有能打印“aaaa”出来。
问题2:
cout<< mid(a,b,c)<<endl;
因为mid函数没有return东西,那这一句mid 输出的是什么?
#include<iostream> using namespace std; int main() { int arr[10] = { 1,2,3,4,5,6,7,8,9,10}; cout << "整个数组占用内存空间为:" << sizeof(arr) << endl; cout << "每个元素占用内存为:" << sizeof(arr[0]) << endl; cout << "数组中元素个数为:" << sizeof(arr) / sizeof(arr[0]) << endl; cout << "数组首地址为:" << (int)arr << endl; }
为什么我这里的查看数组首地址使用int进行强转要报错
#include <iostream>
using namespace std;
void set_nth(unsigned char* data,int n,bool x)
{
int a=n/8,b=n%8;
if(x)
{
data[a] |= 0x80>>b; //?????原来的data[a]是多少?
}else{
data[a] &= ~(0x80>>b);
}
}
bool get_nth(unsigned char* data,int n)
{
int a=n/8,b=n%8;
return data[a] & (0x80 >> b);
}
int main()
{
unsigned char data[20];
set_nth(data,100,true);
cout << get_nth(data,100) << endl;
return 0;
}
x = y++ // 含义是: y0 = y; y = y + 1; x = y0;
既然赋给X的是原来的y值,那写成y++有什么意义?
#include<iostream> #include<ctime>//time系统时间头文件包含 using namespace std; int main() { //添加随机数种子,作用利用当前系统时间生成随机数,防止每次随机数都一样 srand((unsigned int)time(NULL)); int num = rand() % 100 + 1; int val = 0; while(num=50){ cin << val; if(num<val) { cout << "猜测的数过大" <<; } else if(num<val) { cout << "猜测的数过小" <<; } else { cout << "猜对了,退出游戏" <<; } break; } return 0; }
rand为什么用不起呢,报错rand未声明