C经典 scanf 、gets 与fgets区别

来源:互联网 发布:易语言访问网页源码 编辑:程序博客网 时间:2024/05/21 16:03
#include <stdio.h>#include <string.h>int main(int argc, const char * argv[]){    /**     char ch[10];     scanf("%s",&char); //不能接收空格,接收大于10的字符     gets(ch) ; //不安全,如果如果输入的是10个字符,没空间存储\0,接收大于10的字符,会越界     fgets(ch); //会自动截取,并把最后的一个变为\0     char *fgets(ch, len, stdin);     */    char ch[10];    fgets(ch, sizeof(ch), stdin);    printf("%s\n", ch);    printf("%d\n", strlen(ch));//不包含\0//    if (ch[strlen(ch)-1] == '\n') {//        ch[strlne(ch)-1] = '\0';//    }    for (int i = 0; i < 10; i ++) {        printf("%d\t", ch[i]);    }    printf("\n");    //不自动换行,puts可以自动换行    fputs(ch, stdout);    printf("\n");    return 0;}
0 0
原创粉丝点击