| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5109 人关注过本帖
标题:字符串赋值问题
只看楼主 加入收藏
想变强
Rank: 1
等 级:新手上路
帖 子:12
专家分:9
注 册:2010-10-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
字符串赋值问题
数据结构中想编写一个StrCopy函数,但是总是有问题。
于是写了下面de函数:

#include<stdlib.h>
#include<stdio.h>
int main()
{
    char *p;
    p=(char *)calloc(200,sizeof(char));
    p="china ia a great country!";
    p='m';/*此句有问题*/
    puts(p);
    printf("%c\n",p[5]);
    system("pause");
}
编译通过(DEVC和CodeBlocks都试过)
无法运行,
调试时出现附件中情形。即出现段位异常。

那么怎么用指针修改一个已经初始化过得字符串的元素值呢?
PS;如果将p='m';换成p="chi";也是可以的。
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 字符 赋值 
2010-10-15 19:48
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
p=“m”  不能用单引号

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-15 19:51
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:5 
en~楼上正解,字符串用双引号表示

If You Want Something, Go Get It, Period.
2010-10-15 19:59
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:5 
嗯,字符串要用双引号,字符才用单引号!
2010-10-15 20:26
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:5 
以下是引用m21wo在2010-10-15 19:59:10的发言:

en~楼上正解,字符串用双引号表示
嗨 嗨 你的头像我很喜欢哦

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-15 20:34
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:5 
回复 楼主 想变强
'm'是一个字符,在你的这个程序里你定义的p是一个指向字符的指针,也就是说你应该将一个字符指针赋予p,而不是将一个字符赋予p,如果你要实现p指向一个字符指针的话,应该使用双引号,
比如:
char string[] = "I am happy";
char *p = "I am happy";
虽然都是双引号加一个字符串,但是其概念是不一样的,对于char string[] = "I am happy";中的"I am happy"相当于可以这样写:
{ 'I' ,' ' , 'a' ,'m' ,' ' , 'h' , 'a' , 'p' , 'p' , 'y'};
而char *p = "I am happy";中的"I am happy"却是一个字符串,其值为一个指针(也就是这个字符串的首地址),这个也就是为什么我们可以这样来赋值!



愿用余生致力编程
2010-10-15 20:49
想变强
Rank: 1
等 级:新手上路
帖 子:12
专家分:9
注 册:2010-10-15
收藏
得分:0 
失误了,我的程序里写的是p[0]='m',不知道怎么变成了那个了。。。
2010-10-17 18:05
快速回复:字符串赋值问题
数据加载中...
 
   



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

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