对于课件上内容的疑惑

为什么最后输出的是I love China?是这个课件左右内容实际上并不对应吗?

img

第一行"I love China!" 是输入进去的,第二行"I love China!"才是程序把输入的字符串打印出来的,追加了一个换行符,测试代码如下:

参考链接:


https://www.runoob.com/cprogramming/c-function-puts.html

#include <stdio.h>
#include <string.h>

int main(void){
    
    char cString[30];
    
    // 把输入的一行字符串存储到数组cString中 
    // https://www.runoob.com/cprogramming/c-function-gets.html
    gets(cString);
//    printf("cString[%d]=%c\n",strlen(cString),cString[strlen(cString)]);
//    printf("cString[%d]=%c\n",strlen(cString)-1,cString[strlen(cString)-1]);
//    printf("cString[%d]=%c\n",strlen(cString)-2,cString[strlen(cString)-2]);
    
    //打印输入的字符串 
    // https://www.runoob.com/cprogramming/c-function-puts.html
    puts(cString);
    
//    printf("%s",cString);
    return 0;
} 

img

gets能接受空格的,遇到空格依旧算。

gets()详细用法,供参考:https://baike.baidu.com/item/gets/787649?fr=aladdin