关于c中写入位置 0x00DF0000 时发生访问冲突的问题
1.在做C的程序时输入如何画断,如何告知系统我输入完成了
2.在做字符数组的写入时也是报的同样的错
#include "stdafx.h"#include"windows.h"
struct book
{
float dingj;
char name[20];
};
int main()
{
struct book book1,max,min;
int i;
printf("enter No.1\n");
scanf_s("%s%f\n", &book1.name,&book1.dingj);
max = book1;
min = book1;
for (i = 2; i < 10;i++)
{
printf("enter No.%d\n",i);
scanf_s("%s%f\n", &book1.name, &book1.dingj);
if (book1.dingj > max.dingj)
max = book1;
if (book1.dingj < min.dingj)
min = book1;
}
printf("max=%s %.2f", max.name, max.dingj);
printf("min=%s %.2f", min.name, min.dingj);
system("pause");
return 0;
}
我的输入是这样的
enter No.1
- 10.5 (然后回车,他就报错了)
请大神解惑,谢谢!!
回答:
需要加一个边界详细见
https://sh.qihoo.com/ctransco...
回答:
scanf_s("%s%fn", &book1.name,&book1.dingj);
首先看到这行,book1里面有个数组叫name,那么book1.name应该就是地址了吧?不用在前面加取地址符。
以上是 关于c中写入位置 0x00DF0000 时发生访问冲突的问题 的全部内容, 来源链接: utcz.com/p/194741.html