关于c语言的几个问题

一、intstrtoint(chars[]){inti,n,sign;for(i=0;s[i]=="";i++);sign=(s[i]=="-")?-1:1;/*这句什么... 一、
int strtoint(char s[])
{
int i,n,sign;
for(i=0;s[i]==" ";i++);
sign=(s[i]=="-")?-1:1; /*这句什么意思*/
if(s[i]=='+'||s[i]=='-')
i++;
 ……
二、建立一个链表
main()
{
ctruct node
{
char ch;
struct node *next;
}*first,*last,*p; /*这里的first、last、p是结构指针?*/
……
三、插入节点作链表首节点
void inse(struct node **first,struct node *pnode)
{
pnode->next=*first;
*first=pnode; /*第一句不是就够了吗,为什么还要这句*/
}
调用时inse(&first,pnode);
三、中**first不是指向原首节点first地址的指针么?不是pnode->next=first;就行了?

pnode->next=*first岂不是吧原首节点(这个结构)的内容赋给指针?

说明结构也可以
ctruct node
{
char ch;
struct node *next;
}first,last,p;
这样吧
展开
 我来答
回一句晚安
2012-12-01 · 超过12用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:28.8万
展开全部
一、表达式1?表达式2:表达式;是一个三目运算符,运算顺序是先计算表达式1,若它的值为非0(真),将表达式2的值作为条件表达式的值;否则把表达式3的值作为条件表达式的值。你题目中
sign=(s[i]=="-")?-1:1; 的意思是若s[i]等于-,则sign=-1,否则sign=1;
二、这是创建结构指针的一种方法(漏了s吧,是struct),直接写在后面,当然也可以struct node *first,*last,*p;
三、*first=pnode是调整*first所指向的位置,从指向原先的首位置改为指向插入的节点所在位置。
追问
三、中**first不是指向原首节点first地址的指针么?不是pnode->next=first;就行了?

pnode->next=*first岂不是吧原首节点(这个结构)的内容赋给指针?
追答

**first是指向*first这个指针的指针,*first是指向原首节点地址的指针(就跟*pnode同级的感觉,所以pnode->next指向的应该是*first,first单独看没有实际意义),pnode->next=*first不是把内容赋给指针,而是指pnode的next指向*first指向的节点(头节点)

 

 

百度网友99a72d3
2012-12-01 · TA获得超过141个赞
知道答主
回答量:60
采纳率:0%
帮助的人:26.5万
展开全部
第一个问题: sigh=(s[i]=="-")?-1:1 是个判断语句 当s[i]=="-" sigh=1 如果不等于 去-1
第二个问题: 是结构指针 而且你打错了, 是struct node 不是ctruct node
第三个问题: 第一句只是说 pnode的下一位是*一个叫first的指针,而没有把pnode与链表链接起来
第二句就是把pnode连接到链表上
追问
谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式