黑马程序员技术交流社区

标题: 第一次看到指针居然还能这样用?不明白什么意思?请大... [打印本页]

作者: gululu23    时间: 2014-12-16 13:34
标题: 第一次看到指针居然还能这样用?不明白什么意思?请大...
本帖最后由 gululu23 于 2014-12-16 13:39 编辑

就算这样可以的话,但输出的内容也是不正确的?懵了,彻底懵了!
  1. static int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
  2. char *PF;
  3. PF="%d,%d,%d,%d,%d\n";
  4. printf(PF,a,*a,a[0],&a[0],&a[0][0]);
  5. printf(PF,a+1,*(a+1),a[1],&a[1],&a[1][0]);
  6. printf(PF,a+2,*(a+2),a[2],&a[2],&a[2][0]);
  7. printf("%d,%d\n",a[1]+1,*(a+1)+1);
  8. printf("%d,%d\n",*(a[1]+1),*(*(a+1)+1));
复制代码

作者: Xwoder    时间: 2014-12-17 01:14
printf函数的第一个参数是放用来说明格式的字符串的,比方说printf("%d\n",10);
我可以把上面的这条语句写成:
char* PF = "%d\n";
printf(PF,10);
本质不变呀,这个有什么不好的理解的么?
作者: gululu23    时间: 2014-12-18 17:16
Xwoder 发表于 2014-12-17 01:14
printf函数的第一个参数是放用来说明格式的字符串的,比方说printf("%d\n",10);
我可以把上面的这条语句写 ...

恩,恍然大悟啊!非常感谢!
作者: gululu23    时间: 2014-12-18 17:41
Xwoder 发表于 2014-12-17 01:14
printf函数的第一个参数是放用来说明格式的字符串的,比方说printf("%d\n",10);
我可以把上面的这条语句写 ...

恩,恍然大悟啊!非常感谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2