资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

【C语言】字符串输入的三种方式-创新互联

一、gets()

该函数原型为:

企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,成都创新互联面向各种领域:成都火锅店设计成都网站设计成都全网营销解决方案、网站设计等建站排名服务。

# includechar *gets(char *str);

gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间

# includeint main(void)
{char a[256] = {0};
	gets(a);
	printf("%s",a);
    return 0;
}

运行结果:
在这里插入图片描述

二、getchar()
# includeint main(void)
{int i=0;
	int j;
	char ch;
	char a[256] = {0};
	while((ch=getchar())!='\n')//一直接收缓冲区的字符。直至收到回车
	{   	a[i]=ch;
	   	i++;
	}
	a[i]='\0';    //加上串尾符
	for(j=0;jprintf("%c",a[j]);
	}
    return 0;
}

运行结果:
在这里插入图片描述

三、scanf()
# includeint main(void)
{char a[256];
	scanf("%s",&a);
	printf("%s",a);
    return 0;
}

运行结果:
在这里插入图片描述

注:
  • scanf这种格式串不能接收带空格的字符串,比如输入"abc 123 678"的话,字符串只会接收到abc,遇空格就结束
    在这里插入图片描述

  • 使用 gets() 时,系统会将最后“敲”(Enter)的换行符从缓冲区中取出来,然后丢弃,所以缓冲区中不会遗留换行符;
    而使用scanf时,最后的“敲”会遗留在缓冲区中,如果使用scanf,则需要使用gerchar()将缓冲区的Enter吃掉

  1. 使用gets()后再输入一个字符,可知缓冲区无残留Enter
    在这里插入图片描述

  2. 换成scanf后,只敲了一次回车就结束程序,可知scanf情况下缓冲区有残留Enter在这里插入图片描述

  3. 加入getchar()即可解决残留Enter问题在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前文章:【C语言】字符串输入的三种方式-创新互联
本文网址:http://cdkjz.cn/article/eiopd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220