C语言程序题目

[复制链接]
查看11 | 回复3 | 2009-2-14 01:38:58 | 显示全部楼层 |阅读模式
程序是:
main()
{int *p,i; char *q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;
....
}
请问程序错在哪??为什么错了??

回复

使用道具 举报

千问 | 2009-2-14 01:38:58 | 显示全部楼层
主要错误:*p=40;//变量指针只能指向一个变量,不能直接指向一个常量.可在定义时改为int i=40;p=&i;小问题:*p=*q;//两个不同类型的指针变量相互间赋值,将进行隐式的类型转换,但是要看你本意是不是这样.还有*q指向的变量ch并没有赋初值,但是这样是可以运行的,但也要看是否你的本意....
回复

使用道具 举报

千问 | 2009-2-14 01:38:58 | 显示全部楼层
*p=*q两个指针变量的基类型不一样,一个为int,一个为char,是不能相互赋值的!...
回复

使用道具 举报

千问 | 2009-2-14 01:38:58 | 显示全部楼层
*p=*q这句是把*q的值赋给*p,但你还没有给*q赋值。。。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行