C语言问题,如何将中文放进字符数组 c语言中怎么将汉字存入数组并输出,要具体C语言代码

作者&投稿:贝蚂 (若有异议请与网页底部的电邮联系)

char *s[4]={"李四","张三","黄生","二小"},*p;[4]

把p[i]指向s[i],即:

for(i=0;i<4;i++)

p[i]=s[i];

也可以直接char *p[4]={"李四","张三","黄生","二小"};这里数字4只是表示指针数组中指针的个数,而不是字符长度。

扩展资料:

C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。

相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。

而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)

合理使用优先级可以极大简化表达式。



char *s[4]={"李四","张三","黄生","二小"},*p;[4]

把p[i]指向s[i],即:

for(i=0;i<4;i++)

p[i]=s[i];

也可以直接char *p[4]={"李四","张三","黄生","二小"};这里数字4只是表示指针数组中指针的个数,而不是字符长度。

扩展资料:

由于字符型数据是以整数形式(ASCII代码)存放的,因此也可以用整型数组来存放字符数据,但这时每个数组元素占2个字节的内存单元,浪费存储空间。 

如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'\0')。如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。

参考资料来源:百度百科-字符数组



首先你要清楚一点:存储一个汉字需要两个字节,而char类型是一个字节。清楚了这一点,你就该明白,用一维数组是完成不了你的要求的。例如,如果你给一维数组a赋值“张三”,那么a[0]和a[1]合起来才能输出张。你的这个想法可以用一楼编辑狂团队的回答来实现,或者直接使用二维数组。

char *s[4]={"李四","张三","黄生","二傻子"},*p[4];
然后把p[i]指向s[i],即:
for(i=0;i<4;i++)
p[i]=s[i];
你也可以直接char *p[4]={"李四","张三","黄生","二傻子"};这里数字4只是表示指针数组中指针的个数,而不是字符长度。

C语言中存放中文需要用字符串需要使用字符数组如 a[10]={'h','e','l','l','o','/0'}你这种存放方法可以使用二维数组a[0][10]={'h','e','l','l','o','/0'}a[1][10]={'c','a','t','/0'}

c语言中怎样将存放在字符数组中的汉字一个一个输出出来啊?而不是用%s全部输出。~

例题:
本题要求编写一个解密藏头诗的程序。

输入格式:
输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。

输出格式:
取出每句的第一个汉字并连接在一起形成一个字符串并输出。
输入:
一叶轻舟向东流
帆稍轻握杨柳手
风纤碧波微起舞
顺水任从雅客流
输出:
一帆风顺

#include
struct spf
{
char b[100];
};
int main()
{
struct spf a[4];
int i;
i=0;
for(i=0;i<4;i++)
{
scanf("%s",a[i].b);
}


for(i=0;i<4;i++)
{
printf("%c%c",a[i].b[0],a[i].b[1]);
}
return 0;

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
其中的精髓在于:printf("%c%c",a[i].b[0],a[i].b[1]);;
也就是说,要想一句话放进数组中,输入指定汉字,其实就是注意汉字占据两个字节,在字符数组中也是占据连续的两个字节,输出时选择储存汉字的地址就好。

你好!!


#include
void main()
{

char array[20];
scanf("%s",array);
printf("%s
",array);
}


测试:
王军伟
王军伟
Press any key to continue

C语言中,怎么用数组存中文?详见描述
答:这么定义是由于c语言中没有字符串数据类型 所以使用字符串时需要使用char的一维数组来表示字符串。所以字符串数组就是char的二维数组。按照你给的代码,正规的C编译器会编译错误的。字符串是用"来界定的。处理中文可以用char或wchar_t include <stdio.h>int main(void){char Name[3][5] = {"张三"...

在VC中如何用C语言输入一个汉字,将汉字给一个变量,使这个变量输出的时候...
答:可以用unsigned char类型的数组储存汉字,输出时按字符串输出即可 include<stdio.h> int main() { unsigned char s[]="百度一下,你就知道"; printf("%s\n",s); puts(s); scanf("%s",s); printf("%s\n",s); puts(s); return 0; } ...

C语言:先输入一行字符,将其存放在字符数组中,再输入一个指定字符,在字...
答:include <stdio.h> include <string.h> int main(){ char str[100]; // 定义字符数组,存储输入的字符串 char ch; // 定义字符变量,存储输入的指定字符 printf("请输入一行字符:");fgets(str, sizeof(str), stdin); // 读入一行字符 printf("请输入一个指定字符:");ch = getchar()...

c++中 怎么便捷的把字符输入到一个一维数组中呢?
答:从键盘上输入一个字符串到一维字符数组中,另外再输入一个字符,在字符数组中删除所有 从键盘上输入一个字符串到一维字符数组中,另外再输入一个字符,在字符数组中删除所有该字符(即指定字符),程序输出完成删除操作后的结果字符串。提示:利用for循环找到指定字符,将指定字符找到,然后“赋值覆盖”,最后...

c语言中,用字符数组储存名字,比如s[0]存储张三,s[1]存储李四,我应该如 ...
答:因为汉字是多字节字符,所以,如果一个数组中存储多个人名,则要定义成二维数组,如:char names[10][20]; //最多存储10个人名,每个人名,不超过10个汉字(GBK编码,一个汉字两个字节)strcpy( names[0], "张三" );strcpy( names[1], "李四" );...

C语言怎么给一个变量赋值中文?
答:可以通过给字符数组赋值来解决。就是变量b需要定义为字符数组。例如:include <stdio.h>int main(){char b[]="汉字";printf("%s",b);return 0;}//运行结果:C语言中不存在你图片中写的这种语法,既然学C语言,就应该按照C语言要求的格式来进行书写,不能自己强行发明创造。

c语言中怎样将存放在字符数组中的汉字一个一个输出出来啊?而不是用%...
答:例题:本题要求编写一个解密藏头诗的程序。输入格式:输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。输出格式:取出每句的第一个汉字并连接在一起形成一个字符串并输出。输入:一叶轻舟向东流 帆稍轻握杨柳手 风纤碧波微起舞 顺水任从雅客流 输出:一帆风顺 include<stdio.h>...

C语言中怎么把字符数组里的数据存放到字符串数组中
答:利用C语言标准库中的strtok()函数,可以轻松快捷的将以空格分隔开的一串字符分成多个子串,存放到字符指针数组中。函数说明:include <string.h> //头文件 char *strtok(char *str, const char *delim);strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delim则为分割字符串中...

C语言中如何实现中文,英文单词和数字在同一个地方输入?看图。_百度...
答:直接字符串输入就可以了,输入以后遍历字符串,做比较判断就行了。如果数字要运算,只要把字符数字减字符0就是对应数字。如果要区分中文,中文是一个字两个字节,且每个字节二进制最高位都是1。

java语言中如何获取字符串中汉字的个数
答:【实例描述】字符串中可以包含数字,字母、汉字或者其他字符。使用Character类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Character类的isLetter()方法可以判断字符中的某个字符是否为字母。实例中将介绍一种方法用来判断字符串中的某个字符是否为汉字,通过此方法可以计算字符串中汉字的数量。