| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 496 人关注过本帖
标题:关于输出字符串的问题
取消只看楼主 加入收藏
zcc12342234
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2012-8-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:0 
关于输出字符串的问题

char * p = "Hello";
等价于以下代码:

char * p;

char string[] = "Hello";

p = string;

如查要输出字符串的内容,有两种方式:

1、按每个字符输出
#include<stdio.h>

int main(void)
{
       char *p="hello";
       while(*p!='\0')
             printf("%c",*p++);
       system("pause");//用于程序编译成exe后,运行exe时暂停dos窗口。
}

2、以字符串形式直接输出
#include<stdio.h>

void main()
{
       char *p="hello";
     
             printf("%s",p);//指针指向的是字符串"Hello"的首地址,系统会自动移动字符串指针,直到遇上'\0',这就是字符串可以以printf("%s",p);输出的原因
       system("pause");
}

问题:::【这里printf("%s",p)等价于 while (*p!=\0) printf("%c", *p++)这是c本身规定的吗?为什么pintf("%s", *p);输出不了呢?是因为无法确定p所指向的空间长度的问题吗?】
搜索更多相关主题的帖子: void include system 字符串 
2012-08-22 00:21
快速回复:关于输出字符串的问题
数据加载中...
 
   



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

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