关于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

  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

回到顶部