这是一道水题,题目内容不是重点,我是想请教这两份代码的区别,为什么一份就是accept,另一份却是Output Limit Exceeded ,谢谢 题目内容如下: 代码一:(提交OJ后accept) int main() scanf(“%d”,&t); while(t–) printf(“%s will survive\n”,g); return 0; 代码二:(提交后是Output Limit Exceeded) int main() scanf(“%d”,&t); getchar(); while(t–) printf(“%s will survive\n”,g); return 0; |
|
20分 |
scanf的%s是读取到空格、回车、制表符,而gets只会读取到回车。
你用gets的话,三个人的名字会存成一个名字。 |
20分 |
使用scanf();
空白字符(空格、回车、制表符)可区分数据 使用gets(); 一般回车才可区分数据 gets() The gets function reads a line from the standard input stream stdin and stores it in buffer. The line consists of all characters up to and including the first newline character (“”\n””). gets then replaces the newline character with a null character (“”\0″”) before returning the line. In contrast, the fgets function retains the newline character. |
你好,可我是分开用gets读入三人的名字的啊,我还是不理解你的意思,麻烦再解释一下,谢谢 |
|
你好,可我是分开用gets读入三人的名字的啊,我还是不理解你的意思,麻烦再解释一下,谢谢 |
|
明白了,题目没看清啊。。。谢谢了 |