字符型输入引起地址冲突
本帖最后由 mm1mm 于 2021-6-24 16:34 编辑#include<stdio.h>
void main()
{
char a, b, c;
printf("input character a and b:\n");
scanf_s("%c%c", &a, &b);
printf("&c%c\n", a, b);
}
照着小甲鱼抄的~
0x621AA261 (ucrtbased.dll) (student1.exe 中)处有未经处理的异常: 0xC0000005: 写入位置 0x00101023 时发生访问冲突。
用的是VS2019这是啥情况呀. 用错误的输入格式,怎么可能正确?
你说对不对?
人造人 发表于 2021-6-24 16:27
用错误的输入格式,怎么可能正确?
你说对不对?
能麻烦指导一下嘛 新手自学的. 奇怪,书上应该写了呀
float 类型应该用 %f
#include <stdio.h>
int main(void)
{
float a, b, c;
scanf("%f%f%f", &a, &b, &c);
printf("%f%f%f\n", a, b, c);
return 0;
}
人造人 发表于 2021-6-24 16:36
奇怪,书上应该写了呀
float 类型应该用 %f
是我录入的时候录错了 你看下我上面新复制过来的 这是照着小甲鱼视频上抄的 出现错误提示 mm1mm 发表于 2021-6-24 16:39
是我录入的时候录错了 你看下我上面新复制过来的 这是照着小甲鱼视频上抄的 出现错误提示
一定要认真一点呀
printf("&c%c\n", a, b);
人造人 发表于 2021-6-24 16:43
一定要认真一点呀
printf("&c%c\n", a, b);
改了还是报错... mm1mm 发表于 2021-6-24 17:09
改了还是报错...
我看不到报错信息呀 scanf_s("%c%c", &a, &b);
主要是对这个语句报错0x790BA261 (ucrtbased.dll) (student1.exe 中)处有未经处理的异常: 0xC0000005: 写入位置 0x00991023 时发生访问冲突。
mm1mm 发表于 2021-6-24 17:15
scanf_s("%c%c", &a, &b);
主要是对这个语句报错0x790BA261 (ucrtbased.dll) (student1.exe 中)处有未 ...
a和b什么类型的?把代码发完整
#include<stdio.h>
void main()
{
char a, b, c;
printf("input character a and b:\n");
scanf_s("%c%c", &a, &b);
printf("&c%c\n", a, b);
}
是不是这里不能用scanf只能用getchar
mm1mm 发表于 2021-6-24 17:29
#include
void main()
将
printf("&c%c\n", a, b);
改为
printf("%c%c\n", a, b);
将
scanf_s("%c%c", &a, &b);
改为
scanf("%c%c", &a, &b); 肖-肖 发表于 2021-6-24 17:43
将
printf("&c%c\n", a, b);
改为
使用的是vs2019 不管是使用scanf_s 还是scanf 都是报错的.
程序是可以运行的 不过输入数据后提示内存错误
人造人 发表于 2021-6-24 17:19
a和b什么类型的?把代码发完整
错误原因是 scanf_s 扫描字符需要额外给一个大小参数,应该改为#include<stdio.h>
void main()
{
char a, b, c;
printf("input character a and b:\n");
scanf_s("%c%c", &a, 1, &b, 1);
printf("%c%c\n", a, b);
}
页:
[1]