c语言学习---gets()读取字符串,以及\0,fgets()put()fputs()

复制代码
#include<stdio.h>

//gets()读取字符串, 可以读取空格

int main()
{
    char num[2] = "";//gets 也会造成内存污染 ,  设置字符串长度是2, 但是如果长度超过了2还是会打印, 所以这样就会造成内存污染
    gets(num);// ()里面的参数要的是存放读取字符串的地址

    printf("num is %s",num);

    return 0;

}
复制代码
复制代码
#include<stdio.h>

//fgets默认必须有三个参数,第一个是读取到哪里,第二个参数表示最多读多少, 第三个参数是从哪里读(默认就是stdin,即标准输入,也就是键盘的意思), 

int main()
{
    char num[6] = "";

    printf("size of is %d\n",sizeof(num));

    fgets(num, sizeof(num),stdin); //fgets 是从stdin(标准输入==键盘)读取字符串, 到num数组中 , 最大可以读sizeof(num)-1个
    printf("num is %s",num);

    return 0;
}
复制代码

 

 fgets()会读到\n, 所以上面这里会有一个换行符号

 

如果让fgets()不要读到\n

 

复制代码
#include<stdio.h>

//如何找到最后一个字符的\n


//’\0’是判定字符数组结束的标识,表示这串字符到结尾了;
int main()
{
    char number[] = "shun";

    printf("sizeof number is %d\n",sizeof(number));

    printf("stren number is %d\n",strlen(number)); //strlen 返回的是有效数组的个数, 不包括'\0'

    int i = 0;


    while (number[i] != '\0')
    {
        i++;
    }
    printf("the i value is %d",i);

    return 0;
}
复制代码

 

 

复制代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>


//字符串数组的输出

int main()
{

    char buf[128] = "shun";

    //输出方式1
    puts(buf);//传参是首元素地址,其实就是数组名字


    //输出方式2
    fputs(buf,stdout);//往标准输出文件输出, 其实就是终端,第一个参数是数组首元素, 第二个参数是输出的地方, 标准输出


    return 0;
}
复制代码

 

posted @   朵朵奇fa  阅读(357)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示