| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 648 人关注过本帖
标题:[讨论][求助]关于指向字符串的指针的问题...在线等答!
只看楼主 加入收藏
隆龙
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-22
收藏
 问题点数:0 回复次数:4 
[讨论][求助]关于指向字符串的指针的问题...在线等答!
把字符串的首地址赋予指向字符类型的指针变量。例如: char *pc;pc="c language";或用初始化赋值的方法写为: char *pc="C Language"; 这里应说明的是并不是把整个字符串装入指针变量, 而是把存放该字符串的字符数组的首地址装入指针变量
这是我们书上的一段说法....但为什么写程序如下
char *p="information";
printf("%s",p)
我看不大明白,因为P是个指针变量,它的值是个地址啊....在这里他应该是这个字符串第一个字母的地址啊...可为什么这段程序运行时输出的是整个字符串....我觉得应该输出第一个字母的地址啊.......
#include<stdio.h>
void main()
{char *p="information";
printf("%s",p);
}
但运行结果是information
搞得好混....哪位大哥解答一下!
搜索更多相关主题的帖子: 指针 字符 变量 char 
2005-11-22 11:49
ajey2004
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2004-12-30
收藏
得分:0 
printf("%s",p);
printf("%c",p);


2005-11-22 11:55
隆龙
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-22
收藏
得分:0 

但是我认为P应该是个地址啊....只有*P才会输出以上结果....真搞混了...

以前的程序要输出指针指向的值时都要加*号啊?

比如说
a=100;
*p=&a
printf里面输出就只能用*p?

2005-11-22 12:00
大水牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:233
专家分:0
注 册:2005-11-21
收藏
得分:0 

我真晕,printf("%s",p)只是个输入规范的问题,那你告诉我你对scanf("%d"&a)怎么理解的,字符串输入的格式就是用这个形式表示的啊,不用专牛角尖,OK???


虽然现在的我什么都不明白,但总有一天,我将包容一切,让优秀变成一种习惯。。。。。。。。。。。。
2005-11-22 12:06
隆龙
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-22
收藏
得分:0 

谢谢了...呵呵

2005-11-22 12:39
快速回复:[讨论][求助]关于指向字符串的指针的问题...在线等答!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022050 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved