对大家有帮助的问答会被标记为“推荐”,看完课程过来浏览一下别人提的问题,会帮你学得更全面
#include<iostream> #include<string.h> using namespace std; void mycopy(char* dest, char* src) { size_t len = strlen(src); cout << len << endl; for (int i = len; i >= 0; i--) { dest[i] = src[i]; } dest[len] = '\0'; // 添加结束符 } int main() { char a[6] = "ABCD"; //多分配了一个冗余空间,为了... mycopy(a + 1, a); strcpy_s(a + 1,sizeof(a), a); cout << a << endl; return 0; }
strcpy_s(a,sizeof(a), a+1);
strcpy用不了,换成新的,底下的含义就换方向了
#include <iostream> using namespace std; int main() { long long int a=2; cout << sizeof(a)<<endl; }
#include <iostream> using namespace std; int main() { short short int a=2; cout << sizeof(a)<<endl; }
#include <iostream> using namespace std; int main() { long short int a=2; cout << sizeof(a)<<endl; }
老师,这里没有
long修饰时是4,一个long是8,但为什么两个long也是8.我又试了两个short,结果两个short不能运行,一个long一个short也不能运行
n = 0; for (int i = 2; i < x; i++) if (x % i == 0) data[n++] = i; data[n] = -1;
这里n不是重新赋值为0了吗,那为什么后面的data[n++]=i这样下来,运行的结果是data[0]=2;
在10:26处,为什么还要写一个min(int a,int b)的函数呢?是因为三个数可能会重复吗?
// 把第n位设置为x void set_nth(unsigned char* data, int n, bool x) { int a = n / 8, b = n % 8; if(x) data[a] |= 0x80 >> b; //目标位为1,其它为0 else data[a] &= ~(0x80 >> b); //目标位为0,其它位为1 }
0x80是什么
|=以及&=的运算规则是什么
enum week{Mon, Tue, Wed, Thu, Fri, Sat, Sun}
这里的变量默认是int类型吗?