*p=(person*)info[i]; 并解决程序运行报错
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 04:32:01
*p=(person*)info[i]; 并解决程序运行报错
//输入三个人的编号和姓名,并输出
struct person{
char no[6]; //编号
char name[10];//姓名
};
int main(int argc,char* argv[])
{
int len=3; //共三个人
char info[10];
\x05for(int i=0;i
//输入三个人的编号和姓名,并输出
struct person{
char no[6]; //编号
char name[10];//姓名
};
int main(int argc,char* argv[])
{
int len=3; //共三个人
char info[10];
\x05for(int i=0;i
他原意是想用指针数组存储 new 出来的这些 person 对象,但是由于每个元素都是 char 型(因为声明的是 char info[10] 的数组),而将 person *p = new person; 这个指针p赋给它,强制类型转换后赋给数组的元素会发生精度丢失,因为指针变量在32位机器里占4字节,而 char 变量只有1字节内存空间,所以在第二个循环中取出数组元素的值再强制转换成person的指针类型,其值已经不对了.
所以修改的方法是,直接将 char info[10]; 修改为 person *info[10]; 那么后面第二个 for 循环输出的时候也不需要做强制转换了.
所以修改的方法是,直接将 char info[10]; 修改为 person *info[10]; 那么后面第二个 for 循环输出的时候也不需要做强制转换了.
*p=(person*)info[i]; 并解决程序运行报错
matlab解方程哪位大侠帮着分析一下这段程序,想解出来h,但运行时总是报错.希望验算后再回答,g=9.8;m=57;p
运行matlab帮助文件里的pdepe例子 结果程序报错了
下面程序的运行结果是 main() {int a[6],i; for(i=1;i
matlab运行老是报错.
以下程序运行后的输出结果是: i=0:n=0 Do while i
程序在运行循环“For I=1 to 14 step 3”结束后,I=?
下列程序运行结果为:#define P 3 #define S(a) P*a*a main() {int ar; ar=
请问哪位VB大神可以解决这一题?就程序完整语句,最好有程序运行截图.
matlab程序运行出现the statement is incomplete的错误,下面是程序,请问怎样解决
MATLAB程序不能运行,求指出错误并修正
MATLAB 程序老是报错,