⑴ c语言文件的问题 第9题 fseek语句,最后那个2不是代表文件末尾吗 为什么还选a
个人认为答案是错误的,这种情况会出现文件空洞。
如果 offset 比文件的当前长度更大,下一个写操作就会把文件“撑大(extend)”。这就是所谓的在文件里创造“空洞(hole)”。没有被实际写入文件的所有字节由重复的 0 表示。空洞是否占用硬盘空间是由文件系统(file system)决定的。
⑵ 我要写一个把文件分成N份的C语言程序,求大神帮我看看哪错了
打开文件失败,则说明文件是不存在的!
检查一下文件名是不是正确,方法过程:
win 运行 ,输入cmd
cd e:\
dir file*
看一下结果,一般情况下,可能是文件名多了.txt,真正的文件名是:E:\\file.txt.txt
⑶ C语言,编译无错误,组建时出现错误。
returning address of local variable or temporary
很明显,返回了局部变量,运行肯定出错呀。
double *extend(double *price,double *quantity)
{
static double amo[10];//静态就可以了
int i;
for(i=1;i<=10;i++)
{
amo[i] = price[i] * quantity[i];
}
return amo;
}
⑷ C语言,求修正。
因为你的extend函数,只操作了首地址上的元素啊,所以只有第一组数据正确。
要不你改成这样:
#include <stdio.h>
void extend(double *p,double *q,double *r,int n)
{
int i;
for( i=1;i<=n;i++)
{
*p++=*q++ * *r++;
}
}
void main()
{
int j;
double price[10];
double quantity[10];
double amount[10];
for(j=0;j<10;j++)
{
printf("Please input %d values of price.\n",j+1);
scanf("%lf",&price[j]);
printf("Please input %d values of quantity.\n",j+1);
scanf("%lf",&quantity[j]);
}
extend(amount,price,quantity,10);
printf("price\tquantity\tamount\t\n");
for(j=0;j<10;j++)
{
printf("%lf\t%lf\t%lf\n",price[j],quantity[j],amount[j]);
}
}
⑸ c语言中extend什么意思
你说的是extern吧
⑹ C语言中的class函数有什么用~
Class可以通过extend关键字实现继承。super关键字表示父类的构造函数,用来新建父类的this对象。
子类须在constructor方法中调用super方法,这样才能得到父类的this,否则会报错。这是因为子类自己的this对象,必须先通过父类的构造函数完成塑造,得到与父类同样的实例属性和方法,然后再对其进行加工,加上子类自己的实例属性和方法。
调用函数使用的例子
class A {
constructor() {
console.log(new.target.name);
}
}
class B extends A {
constructor() {
super();
}
}
new A() // A
new B() // B
(6)extendc语言扩展阅读
实例属性的新写法
class IncreasingCounter {
constructor()
{
this._count = 0;
}
_count = 0; //_count定义在类的最顶层与上面的constructor()写法等价
get value() {
console.log('Getting the current value!');
return this._count;
}
increment()
{
this._count++;
}
}
⑺ 关于C语言中变量在两个.C文件中的调用问题
我有几个方案,我经常在VC下使用,都没问题,你试试:
方案1:在一个文件中定义全局变量“类型 tmp;”,注意是全局变量。另一个文件全局变量的位置使用“extend 类型 tmp;”。
方案2:把hal.c文件里的函数参数加一个指向tmp的指针,tmp在main中,在hal.c里的文件使用tmp时,把地址传过去就行了。
例如:
mian()
{
char tmp;
.....
.....
}
function(&tmp;...;...);
...
}
在hal.c里面
function(char *tmp;...;...)
{
....
}
这样就行了
方案1、2都不用hal.h
方案3:你把hal.c的子函数写进hal.h,在mian函数之前include一下就行了。
但不推荐此方法。
对你出现的问题的理解:
你在hal.h中声明了tmp,在两个文件里都包含它,表示包含了两次,C语言规定如果没有限定为局部变量,则各个文件都可以调用,这就导致你声明了两个名称相同的同类型变量,当然不行。
如果定义为局部变量,那么另一个文件就没办法用它了,或者这么说:两个文件各有一个tmp但不是同一个tmp,改变一个的值,另一个不变。
常用方法就是extend一下(方案1)。
顺便说一句,我从来没用过unsigned char类型,因为char类型本身就是非负的,可能是因为编译器的关系吧