| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1515 人关注过本帖
标题:关于char*
只看楼主 加入收藏
wfd2004
Rank: 1
等 级:新手上路
帖 子:116
专家分:0
注 册:2006-11-7
收藏
得分:0 
char* 不就是相当于char[]字符数组吗?

在交流中成长
2006-11-07 16:16
wfd2004
Rank: 1
等 级:新手上路
帖 子:116
专家分:0
注 册:2006-11-7
收藏
得分:0 
#include<stdio.h>
int main()
{
char *s;
scanf("%s",&s);
printf("%s",s);
return 0;
}

一运行就报错
是不是需要使用getchar()来接收字符?
char ch;
for(ch =getchar();ch!=EOF;ch = getchar())
{
.........
}
但是如何将每个字符加入到char*中,我不太懂,请指教!

[此贴子已经被作者于2006-11-7 16:36:46编辑过]


在交流中成长
2006-11-07 16:34
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用wfd2004在2006-11-7 16:16:12的发言:
char* 不就是相当于char[]字符数组吗?

但没有给它分配空间.


倚天照海花无数,流水高山心自知。
2006-11-07 16:36
wfd2004
Rank: 1
等 级:新手上路
帖 子:116
专家分:0
注 册:2006-11-7
收藏
得分:0 

如果是这样char* s = new char[];
可是还是照样出问题!


在交流中成长
2006-11-07 17:01
baxia
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-3-10
收藏
得分:0 
以下是引用wfd2004在2006-11-7 16:34:02的发言:
#include<stdio.h>
int main()
{
char *s;
scanf("%s",&s); //这里不要加&
printf("%s",s);
return 0;
}

一运行就报错
是不是需要使用getchar()来接收字符?
char ch;
for(ch =getchar();ch!=EOF;ch = getchar())
{
.........
}
但是如何将每个字符加入到char*中,我不太懂,请指教!


#include<stdio.h>
int main()
{
char *s;
scanf("%s",s);
printf("%s",s);
return 0;
}

2006-11-07 18:57
ziyi555
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-11-4
收藏
得分:0 
#include<stdio.h>
void main()
{
char *s[30]; // 声明为数组要分配空间
scanf("%s",s); // s表示指向的字符数组s的首地址 s已经是地址咯 %s 接受空格前的串 但是输出时要靠回车换行
}

放手一博
2006-11-07 21:27
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用ziyi555在2006-11-7 21:27:24的发言:
#include<stdio.h>
void main()
{
char *s[30]; // 声明为数组要分配空间
scanf("%s",s); // s表示指向的字符数组s的首地址 s已经是地址咯 %s 接受空格前的串 但是输出时要靠回车换行
}

char s[30];


倚天照海花无数,流水高山心自知。
2006-11-07 21:36
wfd2004
Rank: 1
等 级:新手上路
帖 子:116
专家分:0
注 册:2006-11-7
收藏
得分:0 

谢谢各位的指点!
我知道用字符数组可以解决问题,那么是不是char*就不可以接收字符串呢?


在交流中成长
2006-11-07 21:46
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
#include<stdio.h>
main()
{
char s[30],*c;
c=s;
scanf("%s",c);
printf("%s",c);
return 0;
}

谁有强殖装甲第二部,可以Q我460054868
2006-11-07 21:52
wfd2004
Rank: 1
等 级:新手上路
帖 子:116
专家分:0
注 册:2006-11-7
收藏
得分:0 
哦,谢谢版主!

在交流中成长
2006-11-07 21:55
快速回复:关于char*
数据加载中...
 
   



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

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