怎么定义一个字符串,并输入,输出。

如题所述

一、gets/puts,输入输出

1、puts()和gets()都是数组函数,输入或输出前要定义数组,一个简单的输入后再将输入的东西输出,puts()的输入和printf的输出是有一定的区别的,puts()遇到‘\0'就终止,而用printf则不会这样。

2、例如:

char a[50];

gets(a);

puts(a);

二、用scanf/printf输入输出。

1、scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也在其支持范围内。格式化字符为%s。

2、例如
char str[100];

scanf("%s",str);

printf("%s",str);

扩展资料

C语言基本构成

数据类型

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

常量与变量

常量其值不可改变,符号常量名通常用大写。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

数组

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

指针

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。

指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。

指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。

字符串

C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件<string.h>。

参考资料  百度百科 C语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-20
C语言中,没有字符串类型,用字符数组处理字符串。
字符数组定义:
char 数组名[常量表达式] [,[常量表达式]];
说明:一维字符数组,用于存储和处理一个字符串,二维字符数组,用于同时存储和处理多个字符串;
因为字符型与整型是通用的,可以用int来定义字符数组,但两者有区别,如:
char c[10]; /* 在内存中占10字节 */
int c[10]; /* 在内存中占40字节 */
输入输出方法:逐个字符输入输出:%c,整个字符串输入输出:%s
一:用scanf()输入字符串,printf()输出字符串:
逐个字符处理:
#include "stdio.h "
void main()
{ char ch[5];
int i;
for(i=0;i<5;i++)
scanf(“%c”, &ch[i]);
for(i=0;i<5;i++)
printf(“%c”, ch[i]);
}
整个字符串处理:
#include "stdio.h "
void main()
{ char ch[5];
scanf(“%s”,ch);
printf(“%s”, ch);
}
说明:
以字符串为单位处理时,直接使用数组名,无需&;
输入字符串时,字符个数要小于数组的长度,如输入5个字符,定义的字符数组至少应有6个元素;
输入字符串时,若遇空格或回车,输入结束,并自动在串后加上结束标志’\0’;
输出字符串时,遇到字符串结束标志’\0’,输出结束。
二:用字符串处理函数输入和输出
字符串标准函数的原型在头文件string.h中(使用字符串处理函数输入和输出时要在头文件上加入 #include<string.h>)
字符串输出函数puts
格式:puts(字符数组)
功能:向显示器输出字符串(输出完,自动换行,即用’\n’替换了’\0’)
说明:字符数组必须以‘\0’结束

字符串输入函数gets
格式:gets(字符数组)
功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’
说明:输入串长度应小于字符数组维数,字符串中可以包含空格
例如:
#include<stdio.h>
#include<string.h>
void main()
{
char str[10];
int i;
printf("请输入字符串:\n");
gets(str);
printf("输入的字符串为:\n");
puts(str);
}
写的很详细了,希望对你有帮助。。。。。。本回答被提问者采纳
第2个回答  2018-05-07

在C语言中没有字符串类型,用字符数组处理字符串

字符数组定义:char 数组名 [常量表达式][常量表达式]

说明:一维字符数组,用于存储和处理一个字符串 。二维字符数组,用于同时存储和处理多个字符串

输入输出方法:逐个字符输入输出:%c    整个字符串输入输出:%s

用scanf输入字符串,printf输出字符串

逐个字符处理:

#include<stdio.h>  
int main()  
{  
    char ch[5];   
    for (int i = 0; i < 5; i++)  
    {  
        scanf("%c", &ch[i]);  
    }  
    for (int i = 0; i < 5; i++)  
    {  
        printf("%c", ch[i]);  
    }  
    system("pause");  
    return 0;

整个字符串处理:

#include<stdio.h>  
int main()  
{  
    char ch[5];  
    scanf("%s", ch);  
    printf("%s", ch);//无需&  
    system("pause");  
    return 0;  
}

本回答被网友采纳
第3个回答  2011-05-20
C语言
输出 printf()输入 char
php
输出 echo
第4个回答  2011-05-22
控制台环境下:
#include<iostream>
using namespace std;
int main()
{
char* str = "hello c++";
cout<<str <<endl;
return 0;
}
相似回答