C语言上中怎么样直接输入输出一个字符串

如题所述

C语言中字符串的输入和输出主要有两种方式:

输入使用:scanf("%s",a);对应的输出使用:printf("%s\n",a);

输入使用:gets(b);对应的输出使用:puts(b); 

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s="a1a2···an"(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-26

C语言中字符串的输入和输出主要有两种方式:

    输入使用:scanf("%s",a);对应的输出使用:printf("%s\n",a);

    输入使用:gets(b);对应的输出使用:puts(b); 

参考代码:

#include<stdio.h>
int main()
{
char a[100],b[100];
scanf("%s",a);//方法一
printf("%s\n\n",a);
getchar();//吸收空格 

gets(b);//方法二
puts(b); 
return 0;
}
/*
运行结果:
123
123

456
456
*/

第2个回答  2011-07-20
#include <stdio.h>
#include <string.h>

#define LONGTH 10 //定义字符串最大长度
void main()
{
char a[LONGTH],b[LONGTH],c[LONGTH];
char *max;
printf("请输入三个字符串,以空格隔开:");
scanf("%s %s %s",a,b,c);
printf("输入的三个字符串为:\n");
printf("a=%s\n",a);
printf("b=%s\n",b);
printf("c=%s\n",c);
max=a;
if(strcmp(max,b)<0) max=b;
if(strcmp(max,b)<0) max=c;
printf("\nmax=%s\n",max);
}
我以前写的,可以运行,希望有帮助
第3个回答  2011-07-14
利用输出控制符%s,比如定义一个数组存放,char a[10];但是输出的时候使用printf("%s",a);
注意不是a[10];就可以了本回答被提问者采纳
第4个回答  2011-07-15
用“%s”
像这样
char a;
scanf("%s",&a);
printf("%s",a);
相似回答