㈠ 请问大神c语言中字符数组的输入输出到底怎么弄的呢
字符数组的输入输出可以有两种方法:
逐个字符输入输出(%c)
整个字符串一次输入输出(%s)
输出的字符中不包括结束符’\0’
用%s输出字符串时,printf函数中的输出项是字符数组名,不是数组元素名
如果一个字符数组中包含多个’\0’,则遇第一个’\0’时输出就结束
可以用scanf函数输入一个字符串
scanf函数中的输入项c是已定义的字符数组名,输入的字符串应短于已定义的字符数组的长度
char c[6];
scanf(”%s”,c); 比如输入China
系统自动在China后面加一个’\0’
char str1[5],str2[5],str3[5];
scanf(”%s%s%s”,str1,str2,str3);
比如输入:
How are you?
How\0\0 str1
are\0\0 str2
you?\0 str3
如果输出st1
printf("%s",str1);
输出:How.因为w后面的\0。所以系统读到这就会结束了。
㈡ 在C语言中如何实现用键盘输入一个字符串,并打印出来
在C语言中实现用键盘输入一个字符串,并打印出来的解决方法如下:
1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。
(2)c语言输入一个字符串数组怎么弄扩展阅读:
字符数组的输出:
(1)用putchar()或printf()的‘%c’格式符对数组进行字符赋值。例如,对于数组a[10]:用putchar()赋值:
for(i=0;i<10;i++)
a[i]=putchar();
用printf()赋值:
for(i=0;i<10;i++)
printf("%c",a[i]);
输出结果为:
c program[2]
(2)用printf()的'%s'格式对数组赋值。还是对于数组a[10];
printf("%s",a);
输出结果为:
c program
参考资料来源:
网络-char
网络-字符数组
㈢ c语言 字符串数组的插入
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
要求:将输入S1,S2.将瞎滑数S1第N个字符前复制到S3,在S3后跟S2,再将S1从N字 符的磨首内容跟再S3后我现在就最后步不知道怎么赋值过去.请帮帮忙谢谢!
#include <stdio.h>
main()
{
static char s1[10],s2[10],s3[20];
int n,i;
printf("input s1\n"让耐);
gets(s1);
printf("input s2\n");
gets(s2);
printf("input n\n");
scanf("%d",&n);
for (i=0;i<n;i++)
s3[i]=s1[i];
strcat(s3,s2);
for (i=n-1;i<n;i++)就是这里开始出错了!谢谢!
strcat(s3,s1[i]);
printf("%s\n",s3);
}
解析:
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
static char s1[10],s2[10],s3[20];
int n,i;
printf("input s1\n");
gets(s1);
printf("input s2\n");
gets(s2);
printf("input n\n");
scanf("%d",&n);
for (i=0;i<n;i++)
s3[i]=s1[i];
strcat(s3,s2);
for (i=n-1;i<n;i++)就是这里开始出错了!谢谢!
strcat(s3,s1[i]);
strcat(s3,&s1[n]);
printf("%s\n",s3);
return 0;
}
㈣ c语言中函数里面怎么输入字符串数组
在C语言中,字符串是以字符数组方式保存的,于是字符串数组可以用二维字符数组存储。
输入时,每次输入字符串数组的一个元素(一行),根据需要,使用scanf或gets进行输入。
如:
char str[10][100]; //定义字符串数组,供10行,每行最多100个字节数据。
int i;
for(i = 0; i < 10; i ++)
scanf("%s",str[i]);//输入10行字符串数据。
㈤ c语言怎么把字符串存进数组
在C语言中,可以用字符数组来存储字符串。如果要把一个字符串存到数组中,可以先誉握悄定义一个字符数组,然后用字符串复制函数把字符串内容复制到数组中。
例如,如果要把字符串"abcd"存储到数组a的第一个元素中,可以这样做:
char a[10][5]; // 定义一个10行5列的字符数组
strcpy(a[0], "abcd"); // 把字符串"abcd"复制到a的第一个元素中
在这个例子中,定义了一个10行5列的字符数组a,其中每个元素可以存储一个长度为4的字符串(因为最后一个字符需要用于存储字符串结束符'\0')。然后用strcpy()函数把字符串"abcd"复制到a的第一个元素中。
另外,也可以使用指针数组来存储字符串,即定义一个指针数组,每个指针指向一个字符串,例皮早如:
char* a[10]; // 定义一个指针数组,每个指针指向一个字符串
a[0] = "abcd"庆渣; // 把字符串"abcd"的地址赋值给a的第一个元素
这里需要注意的是,把一个字符串赋值给指针数组的元素时,实际上是把该字符串的地址赋值给指针,而不是把字符串内容复制到数组中。因此,在使用指针数组存储字符串时,需要确保该字符串的生命周期与指针数组的生命周期相同,否则可能会出现指针悬空等问题。
㈥ C语言中怎样把输入的字符串赋给数组
//基本实现你要的功能,用到了内存的动态开辟#include <stdio.h>
#include <stdlib.h>
void main()
{
char** pArrStr;//用来保存字符串数组
int strLen;//用来保存字符漏唤串长度
int i; printf("码州请输入字符数组的个数:");
scanf("%d",&strLen);
pArrStr=(char**)malloc(sizeof(char*)*strLen);//动态开辟N个char*指针,然后给pArrStr保存 for(i=0;i<strLen;i++)
{
pArrStr[i]=(char*)malloc(255);
} printf("请依次输迟搜蔽入%d个字符串:",strLen);
for(i=0;i<strLen;i++)
{
scanf("%s",pArrStr[i]);
}
printf("输出:");
for(i=0;i<strLen;i++)
{
printf("%s\n",pArrStr[i]);
}}
㈦ c语言字符串数组怎么输入和输出呢
在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是:
puts():输出字符串并自动换行,该函数只能输出字符串。
printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。
这两个函数相信大家已经非常熟悉了,这里不妨再演示一下,请看下面的代码:
#include <stdio.h>
int main(){
char str[] = "http://c.biancheng.net";
printf("%s ", str); //通过字符串名字输出
printf("%s ", "http://c.biancheng.net"); //直接输出
puts(str); //通过字符串名字输出
puts("http://c.biancheng.net"); //直接输出
return 0;
}
运行结果:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
注意,输出字符串时只需要给出名字,不能带后边的[ ],例如,下面的两种写法都是错误的:
printf("%s ", str[]);
puts(str[10]);
(7)c语言输入一个字符串数组怎么弄扩展阅读:
由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
㈧ 在C语言中,用gets输入了一个字符串,怎么用数组它
#include "stdio.h"
void main()
{
char s[50];
int i = 0;
gets(s);
puts(s);
while(s[i]!='\0'){
printf("%d --> %c\n",i,s[i]);i++;
}
system("pause");
}
你可以看看
这样直接如橘能存放到数组中
其中'\0'宽灶是结束标识,慎橡扮也就是空