软件char报错(程序报错apphangb1)

http://www.itjxue.com  2023-02-18 11:53  来源:未知  点击次数: 

int a; a=1; char='a'; char为什么报错?

语法上没问题,可以的。

char a[2]="1"; //声明和初始化,正确。

char *p=a; // 声明p 是 char 型指针,初始化 是把 数组a的首地址给它,让指针指向 a[0], 可以。

int b = *p; // 声明b, 并 把 p 指向的字符的ASCII值 转为 int 型,初始化 b. 这里 的 b 得到的值 等于 '1' ( 字符常量,带单引号的1)。

下面的例子看得更清楚:

#include stdio.h

int main (){

char a[4]="XY";

char *p=a;

int b=*p;

printf("p=%s b=%d b=%c",p,b,b);

return 0;

}

输出:

p=XY b=88 b=X

Dev C 里面 char 类型在第二次赋值后报错

给你解释一下:

char uName[20]="peng";//申明了一个数组,数组首地址是uName,数组内存初始化为"peng"。uName是不能被修改的一个常量指针

uName="kk";//意图修改一个常量

解决措施

1,将uName改为一个指针

char *uName="peng";//

uName="kk";

2,使用strcpy(char a[],const char b[])给字符数组赋值

char uName[20]="peng";

strcpy(uName,"kk");

C中用%s输出char类型的单个字符,程序崩溃,为什么?

因为%s格式字符串会从给定的内存空间开始向后逐个输出字符,直到遇到\0结束。格式字符串为%s时,后面的参数应该为一个内存地址(指针),如果给出的是一个字符变量,那么会将字符变量中的值认作地址,例如字符变量ch中保存的是字符'a',那么printf会将'a'对应的ASCII码97作为内存地址,试图转到该位置读出数据;而该位置的内存空间属于操作系统,为保护段空间不可访问,因而程序崩溃。这是非常严重的错误。

java中char中赋值出错。。。。晕了。。。

解决方法:你应设置

ch

为String。或者赋值的时候='A'

。这样也可以。

错误原因:因为你现在的赋值是字符串,并且你的ch是

char类型的。所以就出错了。

char是字符,用单引号括起,但是只能括起一个字符。

你一次那么多字符应该使用String

类型。

给一个char10的类型中输入不到十个字符时会报错无法输入吗

给一个char10的类型中输入不到十个字符时会报错无法输入,char的长度是不可变的,char类型的长度被定义为一个8位字节。因次会出现输入不到十个字符时会报错无法输入。

(责任编辑:IT教学网)

更多

推荐网页制作视频教程文章