一个数组的问题
数组名就是一个指针常量,指向数组的首元素(或者说代表了数组的首地址)这句话为什么是错误的。数组名 =? 这是网上找来的
其实这个我还是不是很懂,它的意思就是数组名不是指针常量,因为数组的官方定义里没有const修饰,我给出自己的理解
如果数组名是指针常量,那么为什么不可以进行++,--操作?
数组本身就是一种类型,所以数组名不是指针
而进行取内容运算时,数组名就会隐式转换为指针 //隐式转换,像charstr=97;而%c输出str,得到的是a,这样子
再参数:
https://blog.csdn.net/erica_ou/article/details/80809479
所以数组名并不等于什么;数组名就是数组名,指针常量就是指针常量。
数组名在不同的位置意义不同;不能一概的说 数组名 = 什么。 第一个错误 read_userfile函数里while循环判断条件要改为!feof(fp),用判断文件尾函数而不是读取字符函数
第二个错误 read_userfile函数第二个fscanf函数里密码前面要加一个空格
fscanf(fp, " 密码:%u\n", &user->password);
第三个错误 write_userfile函数里 while循环里的count变量每次循环都赋值1,应该把count定义在while循环外面
第四个错误 read_bookfile函数里while循环的判断条件同样应该改成!feof(fp) 判断文件尾的函数,而不是读取字符函数
页:
[1]