求解答为什么这个语句可以正常执行

img


如图,在%后面第一个引号程序不就该结束吗,为什么可以正常执行,请问是转换符号%的作用吗,还是说是printf函数

第一次见这样写的,我测了下确实可以运行,和%没关系,随便拼接都可以,%和d分别在两个字符串里面,最后也正常打印代表的数值
说明C确实是支持这样写的,定义字符串数组时这样写也没问题,比如:a[100] = "hello""world"; 打印时自动拼接一块了,两个字符串之间的\0则是被自动删除了

在MSDN上查printf()函数。

printf第一个参数是char * , "me32 = %" "d" "\n" 是一个整体即”me32 = %d\n“,例如char *n ="aaaa""bbbb""cccc"; 这样也是可以的。但是一般只有字符串过长,为了可读性需要换行的时候才拆开写。