c语言。字符串

作者&投稿:宜蕊 (若有异议请与网页底部的电邮联系)
C语言中如何定义字符串?~

可以用数组或指针
数组:
char s[80]="abcd";或者char s[80]={"abcd"}; /*说明:自动加字符串结束标志:\0*/
char s[80]={"a","b","c","d","\0"};
指针:
char *s;char*s="abcd";

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。

我也试了一下,没问题,你到底是什么问题,是要在s1或s2中输入空格吗?那么用gets函数;
gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。
其调用格式为:gets(s);   
其中s为字符串变量(字符串数组名或字符串指针)。   
gets(s)函数与scanf("%s:",&s)/* scanf("%s",s) */相似,但不完全相同,使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
你改为:
#include
void main()
{ char s1[50],s2[50];
gets(s1);
gets(s2);
printf("%s
",s1);
printf("%s
",s2);
}
这样就用回车表示输入结束

#include <stdio.h>

void Left(char src[],int n,char dest[]) {
int i;
for(i = 0;i < n && src[i];i++)
dest[i] = src[i];
dest[i] = '\0';
}

void Right(char src[],int n,char dest[]) {
int i,k,len = 0;
while(src[len]) ++len; // 获取src串长度
if(len <= n) {
i = 0; 
while(dest[i] = src[i]) ++i;
return;
}
for(i = len - n,k = 0; src[i]; ++i,++k)
dest[k] = src[i];
dest[k] = '\0';
}

void Mid(char src[],int index,int n,char dest[]) {
int i,k,len = 0;
while(src[len]) ++len; // 获取src串长度
if(index < 0) index = 0;
if(index > len - 1) {
dest[0] = '\0';
return;
}
for(i = index,k = 0;k < n && src[i];i++,++k)
dest[k] = src[i];
dest[k] = '\0';
}

int main() {
char ch,src[100],dest[100];
int n,i = 0,loc;

printf("输入源串:");
while((ch = getchar()) != '
' && i < 100) {
src[i] = ch;
++i;
}
src[i] = '\0';
printf("源串:
%s
",src);

printf("截取左边字符个数:");
scanf("%d",&n);
Left(src,n,dest);
printf("截取的结果:%s
",dest);

printf("截取右边字符个数:");
scanf("%d",&n);
    Right(src,n,dest);
printf("截取的结果:%s
",dest);

printf("截取中间部分字符
");
printf("输入起始索引和字符个数:");
scanf("%d%d",&loc,&n);
Mid(src,loc,n,dest);
printf("截取的结果:%s
",dest);
return 0;
}



C语言中什么是“字符”、“字符串”?有什么区别?
在C语言中 字符是指单个的字符,在程序中表示字符常量用' '引起来,只能是一个字符。字符串是连续的一些字符排列在一起,以空字符'\\0'作为结束。字符串与字符数组的区别就在于字符串的最后一位必然是'\\0',而字符数组则没有。

c语言中字符串是什么东西
正解:在c语言中, 由零个或多个字符组成且通过双引号括起来的有限序列就叫字符串.例如:"hello world", "我爱中国", "A", "123456"等等.另外字符串在内存中是由字符型数组来存储的.且在存储的时候多加'\\0'表示字符串已经结束.例如:char string[12] = "hello wolrd";注意,字符串是以'\\0'...

c语言中string是啥意思啊? 控制啥的啊
编程语言中的字符串,用双引号引起来的几个字符.如"Abc","一天"。String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象。 这样的话把String类的引用传递给一个方法,该方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似。 string s1,s2; s1="abc";...

C语言中如何比较字符串的大小?
在C语言中,你可以使用不同的方式来比较字符串的大小。字符串的比较通常依赖于标准库函数和操作符。以下是一些常见的方法:使用strcmp函数:strcmp函数比较两个字符串的内容,返回一个整数值,表示比较结果。通常,如果字符串相等,返回值为0;如果第一个字符串小于第二个字符串,返回值为负数;如果第一...

C语言中,字符串是什么?
(3)系统软件和图形处理,C语言具有很强的绘图能力和可移植性,并且具备很强的数据处理能力,可以用来编写系统软件、制作动画、绘制二维图形和三维图形等;(4)数字计算,相对于其他编程语言,C语言是数字计算能力超强的高级语言;(5)嵌入式设备开发;(6)游戏软件开发;二 ·运行时:1,不是字符串...

C语言的程序是由什么组成
C语言的字符串其实就是以'\\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。6、文件输入\/输出 在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件<stdio.h>;...

2018年9月计算机二级C语言考点解析:字符串
C语言对字符串常量是按字符数组处理的,它实际上在内存开辟了一个字符数组用来存放字符串变量,并把字符串首地址赋给字符指针变量strp。在输出时用 printf(″%s\\n″,strp);通过字符数组名或字符指针变量可以输出一个字符串。而对一个数值型数组,是不能企图用数组名输出它的全部元素的。2.字符指针变量...

汇编语言$在字符串中是什么意思?
代表当前指令的地址,如:data segment str1 db a,b,c,d leng equ $-str 就是当前地址减去str1的初始地址,即可得到str1的长度。在字符串中是结束标志,就是字符串遇到$才会结束,类似于c语言中字符串中结尾的'0'。

go语言打印字符串(go语言print)
GO语言开发字符串的处理1、go语言的字符串是UTF-8编码的、不可改变的字节序列。要修改字符串,只能以原串为基础,创建一个新串。下面的图中是一个参考示例,提供了以原串为蓝本,创建新串的两种方法。2、可以先将字符串转成[]rune切片2再用常规方法进行遍历运行效果:由此可见下标是按1递增的,没...

c语言中怎样截取字符串
答案:在C#中,可以使用多种方法来截取字符串。常见的方法包括使用Substring方法、使用String.Split方法或使用String类中的其他相关方法等。下面介绍几种常见的截取字符串的方式。详细解释:1. 使用Substring方法:Substring是最直接的方式用来截取字符串的一部分。它可以接收一个或两个参数,分别代表起始位置和...

进贤县15734121729: c语言 字符串 是什么 -
移往阿美: 写多了 Java 代码,对 String 类 很是喜爱,可惜经典的 C 语言没有...最近在做程序过程中,发现对C语言字符串的处理很模糊,一会儿用数组,一会儿用指针,一会儿又引入 string.h...于是决定总结一下C语言中字符串的处理,一则作为...

进贤县15734121729: C语言中什么是字符串 -
移往阿美: 多个字符为字符串,如"a"为一个字符,"abc"为字符串. 百度百科有更详细的说明.

进贤县15734121729: c语言中字符串是什么东西 -
移往阿美: 正解:在c语言中, 由零个或多个字符组成且通过双引号括起来的有限序列就叫字符串.例如:"hello world", "我爱中国", "A", "123456"等等.另外字符串在内存中是由字符型数组来存储的.且在存储的时候多加'\0'表示字符串已经结束.例如:char string[12] = "hello wolrd";注意,字符串是以'\0'结尾的,所以存储的数组大小至少是字符串长度加1.

进贤县15734121729: c语言字符串操作 -
移往阿美: A)char s[5]={'a','b','c','d','e'}; //没有结束符 '\0',字符串中最后 一位一定要有结束符 c) char *s;s="ABCDEF"; //s是一个字符指针,"ABCDEF"是一个常量字符的首地址,因此赋值没问题 d) char s[5];scanf("%s",&s);//s[5]是一个字符数组,s...

进贤县15734121729: C语言中的字符串是什么? -
移往阿美: 字符就是一类成为 cahr的数据 说的简单点,字符串 就是一种数组,char类型的数组,但由于有些自带函数可以直接用来操作字符串,所以在用法上与数组有略微差别

进贤县15734121729: 在C语言中怎么输入一个字符串 -
移往阿美: 在c语言中存储一个字符串,一般有两种方法,一种是字符指针,一种是使用字符数组.比如: const char *str = "hello"; //使用字符串指针 const char str[] = "hello"; //使用字符数组 如果保存的字符串,需要修改.一般使用字符数组.比如: char path[256] = "c:\\windows\\"; strcat(path, "system32");

进贤县15734121729: C语言言中的字符串是什么意思 -
移往阿美: 如下: C语言里的字符串一定纠结了大家太多的感情. 1.char * char *buff="orisun"; sizeof(buff)=4用32位存放一个指针 strlen(buff)=6strlen返回字符串的实际长度,不包括末尾的'\0' 2.char [n] char bu[100]="orisun";从第7位到第100位都是'...

进贤县15734121729: 字符串 C语言编程
移往阿美: #include<stdio.h> #include<stdlib.h> #include<math.h> void main() { char c[80]; int i,j,k,x; int sum,a[80]; for(i=0;(c[i]=getchar())!='\n';i++) ; for(j=0,k=0;j<=i-1;j++) { if(c[j]>='0'&&c[j]<='9') { a[k]=c[j]-'0'; k++; } } x=k;for(i=0,sum=0;i<=k-1;i++) { sum+=a[i]*pow(10,x-1); x--; }printf("%d\n",sum); }有疑问提出.

进贤县15734121729: c语言字符串
移往阿美: 你要养成一定有的习惯,很多字符串函数比如strcpy,strcmp等等都是以'\0'作为字符串结束标志的,如果你定义的字符串后没有这个,而又使用这些就会出错. 其实也不是一定有,比如你定义s[7]=“goodbye”这样是不对的,应该改成s[8]="goodbye"; 但是你也可以这样定义是没有问题的:s[7]={'g','o','o','d','b','y','e'};但是这个不能说是字符串了,只能说是个字符数组.

进贤县15734121729: C语言格式字符串
移往阿美: main() { int i; printf("输入一个数字:"); scanf("%d",&i);//输入 printf("%d",i);//输出 }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网