c语言不能为read
❶ c语言显示内存不能为read
#include<喊脊stdio.h>猛渗拿枝搭
#include<math.h>
#include<stdlib.h>
main()
{
int i,s;
float r;
FILE *fp;
char filename[]="table.txt",line[100];//Useless
fp=fopen("table.txt","w");//here
for(i=1;i<=100;i++)
{
s=i*i;
r=sqrt(i);
fprintf(fp,"%d%5d%5.2f\t\n",i,s,r); //here
}
fclose(fp);
}
❷ C语言该内存不能为read怎么解决
一般就是内存写异常,即0xc000 0005的异常,这种异常,基本都是因为内存访问了系统使用的虚拟内存地址范围 比如 0xffff ffff,最常见的就是向 0号地址写入异常,比如
*(int*)0=0;//这种最容易引发不能写的异常。。
❸ C语言 该内存不能为read!
printf("%s",x[s]);//这里 你没有在任何地方设置0结束标记
scanf("%s%d",&x[i],&a[i]);//在输入字符数+i大于1098时 x写入越界 i>999 a 写入越界 不过一般来说 输入的n不会很多 大了输入累 这是一个潜在的 难以出现的错误
❹ c语言 内存不能为read
你可以调试一下,可以肯定告诉你的是指针的问题,你这太长了我不细看了。比如派闭说你把指针变量赋值了,但不是地址尘谨裂晌埋类型。
❺ C语言内存不能为read
你看"' 0x0004010ab指令引用的“0xccdfcc40”内存。'"
0x0004010ab表示你代码中定义的一个指针或者变量。
而这个变量中的值是地址0xccdfcc40。
一般情况下,是这个变量没有赋初值。
你再看看代码中的变量是否有问题。
❻ c语言编译时该内存不能为read
错在这里啦:
int a[9];int i,x,n; //a是有9个元素的数组
n=9;
printf("input 10 numbers:\n");
for(i=0;i<=9;i++) //i从0到9一共是10个数字
scanf("%d",&a[i]);
看明白了吗?10个萝卜系统只给了你9个坑,还有一个装不下了,你往哪里放呢?操作系统都是有内存管理功能的,你把数据放到了不该放的地方,它就告诉你内存不能为读。
建议:每次用指针的时候,请仔细检查它是否为空,或者指针(数组下标)是否越界了。一般显示内存不能为读都是这2种情况。
❼ C语言错误:内存不能为read
改完后的程序如下,楼主可以试运行一下,注意以后用scanf输入数据时的格式哦,望采纳,谢谢!
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#define NULL 0
#define LEN sizeof(struct student)
struct student{
long num;
char name[100];
float score;
struct student*next;
};
int n;
struct student* creat(){
struct student*head;
struct student*p1,*p2;
n=0;
p1=p2=(struct student*)malloc(LEN);
scanf("%d%s%f",&p1->num,p1->name,&p1->score); //这里错了,中间如果用逗号隔开,输入时必须用逗号分隔,否则会死循环
head=NULL;
while(p1->num!=0){
n=n+1;
printf("%d %s %f\n",p1->num,p1->name,p1->score); //将输入的值打印出来看下有无错误
if(n==1)
head=p1;
else p2->next=p1;
p2=p1;
p1=(struct student*)malloc(LEN);
scanf("%d%s%f",&p1->num,p1->name,&p1->score); //同上,中间如果用逗号隔开,输入时必须用逗号分隔,否则会死循环
}
p2->next=NULL;
return(head);
}
void main(){
struct student *head,*stu;
long del_num;
printf("input records:\n");
head=creat();
}
❽ C语言中,出现该内存不能为read,请高手帮我看看,我错在哪了
你枝枝的scanf输入孙配没加取则搭指地址符
scanf("%d%s%s%s%s",&stu[i].num,stu[i].name,stu[i].date,stu[i].date2,stu[i].bookname);
❾ C语言程序运行内存不能为read
内存不能读,这问题吧,一般是你的指针指向了不该指向的位置,不能读/写很正常。细细检查你的指针,看看它们有没有因为你的大意而失去控制。细节决定成败!
❿ c语言运行时提示“内存不能为read”,求帮助调试
#include "stdafx.h"
int main(int argc, char* argv[])
{
int a[10]={5,7,9,5,2,5,7,9,8,2},n=10;
int k=0;
for(int i=0; i<n; i ++)
{
for(int j=i+1;j<n;i++)
if(a[i]==a[j])
a[i-k]=a[i]; //这里改成a[j-k]=a[i]; 试试!
else
k++;
}
n=n-k;
for(i=0; i<n; i ++)
printf("%4d", a[i]);
printf("\n");
return 0;
}