1. 当x为负的奇数时,右移位和除法运算的结果不相等。其他(正数、负偶数)情况一样。
因为负数在内存中是以补码的方式存储的
2. char *str = "microsoft";
cout << *str << endl; //output m
cout << str << endl; //output microsoft 输出的是整个字符串(比较特殊,不明白为什么)
3. strlen遇到/0的时候结束。和sizeof的区别。
#include <iostream>
#include <string.h>
using namespace std;
int fun() {
char *str = "microsoft";
cout << *str << endl; //output m
cout << str << endl; //output microsoft
cout << "microsoft" == "microsoft"; //output 1
return str == "microsoft"; //output 1
}
int main() {
int x = -31; //当x为负的奇数时,右移位和除法运算的结果不相等。
//其他(正数、负偶数)情况一样。
int F = x / 2;
int G = x >> 1;//负数在内存中是以补码的方式存储的
cout << (F == G); //output 0
cout << F << "," << G << endl; //F=-15,G=-16
cout << fun() << endl;
cout << endl;
char *str = "glx";
cout << *str << endl; //output g 输出的是第一个字符
cout << str << endl; //特殊:输出整个字符串。output char pointer == output const string
//char a[20] = "Hello world";
char a[20] = {'A', 'B'};
char *b = a;
cout << b << endl;
cout << strlen(a) << "," << sizeof(a) << endl;//strlen遇到/0的时候结束。
int a1 = 1;
int *p = &a1;
cout << p; //和char *str = "glx";的区别
return 0;
}