| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:字符串初始化赋值行不通,怎么回事?
取消只看楼主 加入收藏
gyx8899
Rank: 2
等 级:论坛游民
帖 子:56
专家分:91
注 册:2010-2-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
字符串初始化赋值行不通,怎么回事?
#include<stdio.h>
#include<stdlib.h>
#define MAXLEN 40
typedef struct { /*串结构定义*/
  char ch[MAXLEN];
  int len;
}SString;
void output(SString *s)
{
int i;
for (i=0;i<s->len;i++)
printf("%c ",s->ch[i]);
printf("\n");
}
//(1)将顺序串r中所有值为ch1的字符换成ch2的字符
void trans(SString *s,char ch1,char ch2)
{
int i;
for(i=0;i<s->len;i++)
if(s->ch[i]==ch1)
s->ch[i]=ch2;
printf("顺序串中所有值为ch1的字符换成ch2的字符后,顺序串:\n");
output(s);
}
void main()
{
SString A;
char p='e',q='a';
  A.ch[40]="please";
output(&A);
trans(&A,p,q);
}
为什么A.ch[40]="please";不可以直接赋值,而“去掉该句,加上 char b[]="please";
strcpy(A.ch,b); 却可以呢?”
请高手指点。
搜索更多相关主题的帖子: 赋值 字符 
2010-04-23 13:37
快速回复:字符串初始化赋值行不通,怎么回事?
数据加载中...
 
   



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

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