c语言gets()、puts()
#include "stdio.h" void main() { char s[4][20]; int i; scanf("%s%s",s[0],s[1]); gets(s[2]); gets(s[3]); for(i=0;i<4;i++) puts(s[i]); } 当输入: aa bb cc dd 时,为什么输出的是: aa bb cc dd
追问:那你的意思是是s[3]没有赋值啊哦,
puts(s[2]);输出的是回车啊,亲!
#include "stdio.h" void main() { char s[4][20]; int i; scanf("%s%s",s[0],s[1]); gets(s[2]); gets(s[3]); for(i=0;i<4;i++) puts(s[i]); } 当输入: aa bb cc dd 时,为什么输出的是: aa bb cc dd
追问:那你的意思是是s[3]没有赋值啊哦,
puts(s[2]);输出的是回车啊,亲!
答案:scanf函数 将空格视为一个字符串的结束 回车也是结束
而gets函数 将回车视为字符串结束
建议看 "程序这东西 第二版"
网上有这本书,轻松搞笑 愉快的学习程序
希望你看完之后 有很大收获。