A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

本帖最后由 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));
复制代码

3 个回复

倒序浏览
printf函数的第一个参数是放用来说明格式的字符串的,比方说printf("%d\n",10);
我可以把上面的这条语句写成:
char* PF = "%d\n";
printf(PF,10);
本质不变呀,这个有什么不好的理解的么?
回复 使用道具 举报
Xwoder 发表于 2014-12-17 01:14
printf函数的第一个参数是放用来说明格式的字符串的,比方说printf("%d\n",10);
我可以把上面的这条语句写 ...

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

恩,恍然大悟啊!非常感谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马