求解printf("123456"+3);的输出结果并解释
今天同学说的一道题目,把我愣住了,希望各位大神解释下。
[解决办法]
$ a.exe
456
我的输出结果是456,在cygwin下编译的
[解决办法]
结果是456
你可以自己运行下就发现规律了。
printf("1234"+3)----4
printf("1234"+2)----34
printf("1234"+1)----234
这样写,应该类似于截断吧,把从这个位置开始到最后的字符输出,前面的忽略。
[解决办法]
printf("123456"+3);
和
char *s="123456";
printf(s+3);
等价。
[解决办法]
printf(3+"123456");
和
printf("123456"+3);
和
char *s="123456";
printf(3+s);
和
char *s="123456";
printf(s+3);
等价。
[解决办法]
不就是一个指针+3吗
[解决办法]