printf("%s! C is cool!\n", "%s! C is cool!\n");的结果 ,请解释

aaa1111sss 2009-09-24 11:08:54
#include <stdio.h>


int main(void)

{

printf("%s! C is cool!\n", "%s! C is cool!\n");

return 0;

}


答案是

%s! C is cool!

! C is cool!


给出解释????????????????
...全文
256 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
bianhao06 2009-09-24
  • 打赏
  • 举报
回复
printf("%s! C is cool!\n! C is cool!\n", );
%s输出字符串 用第二个字符串替代第一个双引号里面的%S就可以了!
wreckage2009 2009-09-24
  • 打赏
  • 举报
回复
学习!
pmerOFc 2009-09-24
  • 打赏
  • 举报
回复
把第2个串插入第一个中的%s处

printf("%s! C is cool!\n! C is cool!\n", );
leizhang0204 2009-09-24
  • 打赏
  • 举报
回复
路过
hjw090702 2009-09-24
  • 打赏
  • 举报
回复
学习了。。
zyc411277063 2009-09-24
  • 打赏
  • 举报
回复
把第一个s%用后面的替换就明白了
witheart 2009-09-24
  • 打赏
  • 举报
回复
看来有的时候一个小小的东西也不怎么能容易搞明白啊
candy110 2009-09-24
  • 打赏
  • 举报
回复
LZ没能好好理解一下printf的执行.
LS几位解释的很好了~
teng0210 2009-09-24
  • 打赏
  • 举报
回复
printf("%s! C is cool!\n", "%s! C is cool!\n");
第一个%s输出"%s! C is cool!\n" 而"%s! C is cool!\n" 的%s没有表达字符串,所以直接原样输出%s
所以结果是:
%s! C is cool!!
C is cool!
kouwenlong 2009-09-24
  • 打赏
  • 举报
回复
printf("%s! C is cool!\n", "%s! C is cool!\n");
第一个%s就是代表红色的字符串,然后接着输出剩下的蓝色字符.
lijian22500 2009-09-24
  • 打赏
  • 举报
回复
第一个%s 就是代表后面的%s! C is cool!\n,但是第二个%s,后面没有要代表的字符串,所以为空的。
liao05050075 2009-09-24
  • 打赏
  • 举报
回复
char *s= "%s! C is cool!\n";
printf("%s! C is cool!\n",s);

写成这样是不是好理解一点?
它先把%s! C is cool!\n输出,
然后再把printf 中%s后面的! C is cool!\n输出
qepjatdwj 2009-09-24
  • 打赏
  • 举报
回复
#include <stdio.h> 


int main(void)

{

printf("%s x!\n", "%s y!\n");

return 0;

}
aaa1111sss 2009-09-24
  • 打赏
  • 举报
回复
这个小题目也是有意思的 大家多来看看 过会结帖
Java语言程序设计 第6章 字符串 Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第1页。 6.1.1 1 String类 2 3 主要内容 Java语言程序设计(第3版) 格式化输出 StringBuilder类 Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第2页。 6.1.1 String类 Java语言程序设计(第3版) Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第3页。 6.1.1 使用字符串字面值创建String对象。 String str = "Java is cool"; 使用String类的构造方法。 String str = new String("Java is cool"); 这两种方式有区别,后面说明。 创建字符串对象 Java语言程序设计(第3版) Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第4页。 6.1.1 字符串基本操作 Java语言程序设计(第3版) 字符串在内存的表示。设有下面声明: String str = new String("Java is cool"); 这个字符串共有12个字符,每个字符有一个下标,下标从0开始。 str.charAt(6)返回字母s。 Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第5页。 6.1.1 字符串基本操作 Java语言程序设计(第3版) 问题描述 编写一个方法判断字符串是否是回文串。 public static boolean isPalindrome(String s) 思路:取出字符串的第一个和最后一个比较,若不相同,程序结束,返回false。若相等,比较第二个字符和倒数第二字符,直到比较到字符串的中间字符为止,若都相等,则是回文,返回true。 Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第6页。 6.1.1 字符串查找 Java语言程序设计(第3版) int indexOf(int ch) int lastIndexOf(int ch) 找到返回下标值,找不到返回-1。 Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第7页。 6.1.1 字符串转换为数组 Java语言程序设计(第3版) char[] toCharArray() byte[] getBytes() Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第8页。 6.1.1 字符串比较 Java语言程序设计(第3版) 不能使用"=="号来比较字符串内容是否相等 比较内容是否相等: boolean equals(String str) boolean equalsIgnoreCase(String str) s1 s2 Hello Hello 字符串常量池 s1 s2 Hello Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第9页。 6.1.1 字符串比较 Java语言程序设计(第3版) 比较大小: int compareTo(String str) 小于,返回值小于0 等于,返回值等于0 大于,返回值大于0 判断前缀、后缀和包含 boolean startsWith(String prefix) boolean endsWith(String suffix) boolean contains(String str) String s1 = "ABC"; String s2 = "ABE"; System.out.println( s1.compareTo(s2); 输出-2 Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第10页。 6.1.1 字符串的拆分和组合 Java语言程序设计(第3版) String[] split(String regex) static String join(CharSequence delimiter, CharSequence... elements) boolean matches(String regex) Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第11页。 6.1.1 String对象的不变性 Java语言程序设计(第3版) 一旦创建一个String对象,就不能对其内容进行改变。 s Hello,world s.replace('o','A'); HellA,wArld s = s.substring(0,6).concat("Java"); Hello,Java s s.toUpperCase(); HELLO,JAVA System.out.println(s); String s = "Hello,wo

70,036

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧