int i=0,j=0;whlie(*t)t++;t--;字符串尾部的*不多于N个 a代表字符串

[复制链接]
查看11 | 回复2 | 2012-8-21 00:21:26 | 显示全部楼层 |阅读模式
注意,C 语言 里 形式逻辑不成立。注意,同样形式,出现在声明里 和 出现在语句里,意思可能 不同。指针就是如此。你的问题 的产生 就是 还没适应 “形式逻辑不成立”。 char*p,*t; 这是声明。 声明里带*的是指针。p=t=a;这是语句。语句里 不带 *的是指针指向的地址。a 是数组的首地址。(语句里 带 *的是“值”,指针指向的“值”。)这句表示p 和 t 的 指向地址 等于 a 的首地址. while(*t)t++; -- 这是完整的循环语句,*t 指向的“值”为真, 循环不断,循环体是 地址t 增 1。t--;(为什么加了又要减去),上面循环完了,退出循环后, t减1。a=*p;语...
回复

使用道具 举报

千问 | 2012-8-21 00:21:26 | 显示全部楼层
int i=0,j=0;char*p,*t;p=t=a;//这里p和t都被声明为指针,他们作为左值时接收的是一个地址。而加上 * 则是对这个地址进行解引用,得到的是他们所指向的地址内存储的值。a虽然代表的是字符串,但是C语言没有字符串这个类型,字符串的处理方式都是通过数组来处理的,所以代表字符串的a就表示 的是一个字符数组,数组名为a。数组名在表...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行