%s 两边可以用双引号吗?
求助求助!为什么这个代码编译不了,代码从小甲鱼那复制来的。
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "love";
char str2[] = "FishC";
if (strlen(str1) - strlen(str2) < 0)
{
printf("字符串"%s"比字符串"%s"短!\n", str1, str2);
} //删除上面%s两边双引号就是正常编译
else
{
printf("字符串"%s"比字符串"%s"长!\n", str1, str2);
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "love";
char str2[] = "FishC";
if (strlen(str1) - strlen(str2) < 0)
{
printf("字符串%s比字符串%s短!\n", str1, str2);
} //删除上面%s两边双引号就是正常编译
else
{
printf("字符串%s比字符串%s长!\n", str1, str2);
}
return 0;
}
printf里面多了引号了 正常不需要双引号,如果你一定要显示双引号的效果,可以用转义字符\" 本帖最后由 major_lyu 于 2020-2-25 00:18 编辑
printf()函数里面只允许出现一对双引号表示格式化输出,如果你想在输出的字符中包含双引号,所要显示的双引号要用\进行转义
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "love";
char str2[] = "FishC";
if (strlen(str1) - strlen(str2) < 0)
{
printf("字符串\\" % s \\"比字符串\\" % s \\"短!\n", str1, str2);
} //删除上面%s两边双引号就是正常编译
else
{
printf("字符串\\" % s \\"比字符串\\" % s \\"长!\n", str1, str2);
}
return 0;
}
major_lyu 发表于 2020-2-25 00:16
printf()函数里面只允许出现一对双引号表示格式化输出,如果你想在输出的字符中包含双引号,所要显示的双引 ...
谢谢了
页:
[1]