c语言未经处理的异常。求大佬解答

供稿:hz-xin.com     日期:2025-01-12
c语言为什么有未经处理的异常

scanf("%d",&t); 意思是读取键盘的输入的数字放到t中,t是数组下标,如果键盘输入的数字大于9,或是负数,就会出现访问越界

#include main(){ char cmd; printf("你一定要搞基吗?
"); scanf("%c", &cmd);//char型输入用%c 是scanf不是scanf_s 是""不是'' switch (cmd) { case 'Y': printf("好吧我不管你了
"); break; case 'N': printf("你还有救
"); break; default: printf("你去死吧,死基佬
"); break; }}

您好,很高兴回答您的问题。

您的这个题目,系统已经很明显告诉您了错误的原因。因为您定义的x为字符型数据,那么它对应的输入输出格式符为%c,但是您在输入语句中写的是%s,是字符串格式,不符合字符型单个变量的输入输出。根据题目意思,应该是要输入字符串,那么定义的时候就要写成char x[2],因为存放的是性别中文字,所以数组长度定义为2就可以了。您再试试哦。



中文汉字是两个字节,switch函数不支持字符串;
#include<stdio.h>
int main()
{
char x[3] = "男";
int n;
float k,h,a,b,c,d;
printf("请输入性别和以cm为单位的身高:\n");
//判断用户输入的数是否符合要求,否则要求重新输入
scanf("%s %f", &x,&h);
if(x == "男")
n = 1;
else
n = 0;
switch (n)
{
case 0:k = (h - 70.0)*0.6, a = k * 1.1, b = 0.8*k, c = 0.9*k, d = 1.1*k,
printf("当该同学体重大于%.2f小于%.2f时体重不正常,小于等于%.2f大于等于%.2f时为标准体重\n", a, b, c, d); break;
case 1:k = (h - 80.0)*0.7, a = k * 1.1, b = 0.8*k, c = 0.9*k, d = 1.1*k,
printf("当该同学体重大于%.2f小于%.2f时体重不正常,小于等于%.2f大于等于%.2f时为标准体重\n", a, b, c, d); break;
default:printf("输入错误\n");
}
return 0;
}

c语言未经处理的异常。求大佬解答
因为您定义的x为字符型数据,那么它对应的输入输出格式符为%c,但是您在输入语句中写的是%s,是字符串格式,不符合字符型单个变量的输入输出。根据题目意思,应该是要输入字符串,那么定义的时候就要写成char x[2],因为存放的是性别中文字,所以数组长度定义为2就可以了。您再试试哦。

C语言中的 0x003b13a1 处有未经处理的异常: 0xC0000005: 读取位置...
看一下image_offset+j*num是不是超出数组大小了

应用程序发生了未经处理的异常?
五。系统文件损坏或丢失盗版系统或Ghost版本系统。很容易出现该问题建议。使用完整版或正版系统。六。安装的软件与系统或其他软件发生冲突,找到发生冲突的软件卸载,他如果更新下载补丁不是该软件的错误补丁也会引起软件异常,解决办法卸载该软件重新下载重新安装试试,顺便检查。开机启动项把没必要其中的其中...

c语言未经处理的异常,求大佬指点
因为您定义的x为字符型数据,那么它对应的输入输出格式符为%c,但是您在输入语句中写的是%s,是字符串格式,不符合字符型单个变量的输入输出。根据题目意思,应该是要输入字符串,那么定义的时候就要写成char x[2],因为存放的是性别中文字,所以数组长度定义为2就可以了。您再试试哦。