C语言中,想要给一个变量个赋值为汉字,该变量应该是什么数据类型的啊?

作者&投稿:毛食 (若有异议请与网页底部的电邮联系)
C语言强制类型转换怎么做?~

typedef
A
B;将一个已知的类型A定义为类型B
#define
A
B可以在预处理阶段将源代码中所有出现A的地方替换为A
前两个在某些意义上也是自定义类型,但实际上它们不生成新的数据类型。定义新的类型的关键字有enum,struct,union
enum定义一个枚举类型。
枚举型变量只能取定义枚举型时所规定的“标识符”。虽然枚举型本质上是整型,枚举型的“标识符”也只是符号常量,但是,采用枚举型可以极大地提高程序的可读性,同时由于限制了“整型”的取值范围,可以避免程序中用错误的数据给变量赋值,防止出现逻辑错误。
struct定义一个结构体。结构型是最典型的自定义数据类型,与之相关的存储单元由多个类型不同的基本类型存储单元组合而成。当定义一个结构型变量时,就会申请一个这样的存储单元,其中属于它的多个基本类型存储单元都有一个内部的名称,整个存储单元由结构型变量名代表。数组变量虽然也包含了多个存储单元,但实际上通常只使用它表现为基本类型的数组元素。使用结构型变量时多数情况下也是使用其中的某个基本类型存储单元,用结构体成员操作符(.)把结构型变量名和内部的名称结合起来就是相关存储单元的变量名。这样看来,结构型与数组类似,数组变量是多个同类型变量的代表,它包含了多个数组元素,而结构型变量是多个不同类型变量的代表,它包含了多个成员变量。
union定义一个联合体。联合型变量也包含了多个成员变量,但它们共享存储单元,这就意味着在某个时刻只有一个成员变量是真正可以使用的。有时可以利用一个联合型变量代替多个普通变量以减少程序对存储空间的需求。

从汉字存储来说:
1。如果你输入的汉字时多字节(ANSI),那么它占用两个字节,需要用short类型。
2。如果你输入的汉字时宽字节(UNICODE),那么它也是占用连个字节,使用short就可以了。
3。如果你输入的汉字是多字节(UTF8),那么很不幸,它可能是1~3字节,所以最好使用long类型。

char - 1字节
short - 2字节
long - 4字节

贴出你的代码,再来说事。

#include <stdio.h>
void main(void){
char str[9];
printf("输入4个汉字:\n");
scanf("%s",str);
printf("%c%c %c%c\n", str[0],str[1],str[6],str[7]);
printf("%s\n",str);
}
测试结果:
输入4个汉字:
天都凉了
天 了
天都凉了

LPCWSTR str = L"中出";
酱子就行了~~
也可以
wchar_t[10] s = L"高树";

用char是不行的,因为它只占一个字节,而一个中文字符要占两个字节,所以要用wchar_t

无所谓啊

#include<tchar.h>
void main()
{
char p[] = "我是中国人";
wchar_t p1[] = L"我爱我的祖国";
}

都可以

只能用字符数组吧


我想在c语言中给出一个数字,然后输出相同数目的给定单词,怎么做?
include<stdio.h>void main(){int n;char str[100][30];printf("你输入的单词个数:");scanf("%d",&n);int i;printf("输入的单词:");for (i=0;i<n;i++){scanf("%s",str[i]);}printf("你输入的单词是:\\n");for (i=0;i<n;i++){printf("%s ",str[i]);}} ...

有一个谚语说,想要给别人提要求,先要管好自己。原话怎么说来着_百度知...
原话是已所不欲勿施于人。己所不欲,勿施于人,出自《论语-卫灵公篇第二十四章》。中国古代思想家教育家孔子的名言。如果自己都不希望被人此般对待,推己及人,自己也不要那般待人。相关的英文语句如下:(1):Do as you would be done by others.(2):Do not do to others what you w...

c语言中将一个浮点型赋值给整型时,会不会四舍五入?
c语言中将一个浮点型赋值给整型时,不会四舍五入,会直接舍去小数部分的数据,也可以认为是执行了下取整运算。将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0。注意:赋值时的类型转换...

c语言中输入一个汉字赋值给一个字符数组,怎样用if语句来验证这个输入...
char s[9],s1[3]="要";scanf("%s",s);if(s[0]==s1[0]&&s[1]==s1[1])printf("Yes");

c语言中输入一个汉字赋值给一个字符数组,怎样用if语句来验证这个输入...
比较结果是这样规定的:①字符串1小于字符串2,strcmp函数返回一个负值;②字符串1等于字符串2,strcmp函数返回零;③字符串1大于字符串2,strcmp函数返回一个正值;通常使用第二个来判断字符串相等。if (!strcmp(str1, str2)) \/\/如果返回值为零,执行if内的语句。{ 语句 } ...

在c语言中如何定义一个变量,使它的值为一个句子。如果用户输入这个句 ...
回答:你所说的句子是指的字符串吧, C语言中字符串是用字符数组来表示的. #include<stdio.h>#include<string.h>int main(){ char s[20]; gets(s); if(strcmp(s, "hello world")==0)\/\/如果输入的是字符串"hello world" printf("right\\n"); else printf("wrong\\n"); return 0;}

c语言输入一个整数,输出其前三个数
C语言程序如下:include<stdio.h> intmain(){ inta,b,c,t;printf("请输入三个数:");scanf("%d%d%d",&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if(a>c){ t=a;a=c;c=t;} if(b>c){ t=b;b=c;c=t;} printf("从小到大的顺序是:%d %d %d\\n",a,b,c);return0;} ...

怎样才能给孩子一个良好的语言学习环境?
不要让孩子把母语和其他员弄混在很多的教学案例当中,孩子的外语说的好,但是母语却说得一塌糊涂。不得不说这样的情况,就是家长本末倒置了,一个孩子连自己的母语都说不好,日后即便是出国留学,也会让当地的人瞧不起。只有将自己的母语学好,接下来的其他语言才有学好的,可能很多孩子学不好母语的...

C语言中 函数使用子函数时一般有哪三个步骤?
C语言中想要使用一个自定义函数一般有以下三个步骤:一、函数声明:在开发大型软件都是采用多人合作开发,一般一个人负责实现几个功能,这些功能都是通过函数来实现。这总情况下我们一般采用函数声明和定义分开模式。即函数声明放在头文件里。需要用到时包含相应的头文件及方法库即可,库函数就是这种模式。

女朋友说给我一个非你不可的理由,我应该如何回应?
当女朋友说给我一个非你不可的理由时,该如何回应呢?以下四种回应方式供你参考:1.如果女朋友是想听你说甜言蜜语,你可以说一些她喜欢听的浪漫情话,如:想和你在一起,不分秋冬,不顾冷暖;想给你最好的爱情,不是早点睡,不是多喝水;想陪你享人间烟火,不是浊光晚餐,不是玫瑰钻戒,而是...

黑龙江省19179647273: C语言里如何给结构体成员(一个数组)赋汉字值? -
枕贤小儿: 给你举个例子 // 结构体1.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "string.h" #include "stdlib.h" //定义全局常量 #define m 3 //结构体 结构体实质是可以构建世界上的任意一种类型. //结构体标志...

黑龙江省19179647273: vc中我想把汉字赋值给一个变量a该怎么写?请高手指教下……
枕贤小儿: 一个变量?字符类型?汉字需要两个字节存储,如果是字符类型只有一个字节. char* s = "汉";可以这样子,变量是一个指针.

黑龙江省19179647273: c语言中输入一个汉字赋值给一个字符数组,怎样用if语句来验证这个输入的汉字是否是我想要的 -
枕贤小儿: #include<stdio.h> void main() {char ch;printf("请输入汉字:");ch=getchar();if(ch="...")/*省略号处是你想要的汉字字符串*/printf("是我想要的\n");elseprintf("不是我想要的\n"); } 现在只能做到这,还没有学到字符数组...

黑龙江省19179647273: c语言中输入一个汉字赋值给一个字符数组,怎样用if语句来验证这个输入的汉字是否是我想要的汉字 -
枕贤小儿: #include <stdio.h>#include<string.h> void main() { char a[10]="我"; char b[10]=""; printf("please input:"); scanf("%s",b); int m=strcmp(a,b); if(m==0) printf("yes\n"); else printf("no\n"); }

黑龙江省19179647273: C语言中如给一个int型的变量赋值int a=4;和int a;a=4;两种方式有区别吗? -
枕贤小儿: 第一种方法是在声明变量的同时给变量赋值,这个过程书本上有简称定义; 第二种是先声明变量,然后再给变量赋值,赋值过程就叫做定义.变量是先声明,后定义的.这两种方式没有太大区别,所占用的内存一样.但是就简洁性而言第一种方式最好,而且安全,不用担心变量声明后没有对其进行定义而产生的不可预料错误.个人建议使用第一种方法,避免掉进内存陷阱.

黑龙江省19179647273: C语言 如何把一个变量值赋给一个数组. -
枕贤小儿: 1.整型值赋值给整型数组:int value=2;//定义一个变量,并赋值 int array[10];//定义一个数组 array[0]=value;//将变量值赋值给该数组. 2.整型值赋值给字符数组: int value=3; char str[10];str[0]=value+'0';//赋值给单个字符 itoa(value,str,10);//数字转字符串函数itoa,10代表十进制.要包含头文件<stdio.h> 3.字符赋值给整型数组 char ch; int array[10]; array[0]=atoi(ch); 仅举上例.

黑龙江省19179647273: 在C语言中,定义了一个字符变量,给他赋值一个1,为什么也可以啊 -
枕贤小儿: 因为字符变量在内存中存放的是其对应的ASCII值,比如说字符'a',它的ASCII值是97. char ch='a'; printf("%d",ch); 输出结果就是97了.所以对于字符变量你也可以这样理解:它是单字节的整型变量.所以当然可以对一个字符变量赋值一个1啊.

黑龙江省19179647273: 在C语言中,char所定义的变量可以是中文吗?, -
枕贤小儿: 引号中的,c语言将之看作字符数组,可以是中文,

黑龙江省19179647273: C语言中如何一次给一个数组变量赋值 -
枕贤小儿: 1.引入头文件#include "stdafx.h"和#include "stdio.h".2.定义主函数void main(){},在主函数中插入如下代码: int number[11]; int i = 0; for (i=0;i { number[i]=i+1; } for (i=0;i { printf("%d ",number[i]);}3.点击红叹号测试.

黑龙江省19179647273: 在单片机C语言中如何对变量的某一位进行操作或赋值. -
枕贤小儿: 在C语言中,一般有两种方法来操作位,一种是使用C语言提供的位运算操作符,一种是使用位域. 1、使用位域 在C语言中定义位域的一般格式如下: struct 位域结构名 { 位域列表 };struct:在C语言中定义位域所使用的关键字是struct.位域...

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