⑴ c语言:如何将字符串中指定的字符替换为另一个指定字符
void
rep(char
*s,char
*s1,char
*s2)
{
char
*p;
for(;*s;s++)
/*顺序访问字符串s中的每个字符*/
{
for(p=s1;*p&&*p!=*s;p++);/*检查当前字符是否在字符串s1中出现*/
if(*p)
*s=*(p-s1+s2);
/*当前字符在字符串s1中出现,用字符串s2中的对应字符代替s中的字符*/
}
}
不知道对于不对,你自己去试下,对了请采纳,不对请往下浏览
⑵ 在C语言中处理字符的几种常用方法
基本上两种:字符数组和字符指针。字符数组名是常量,字符指针是变量
1、用字符数组:一个一维字符数组存储一个字符串,二维数组存储多个字符串。如:
int i;
char s1[]="abc",s2[][80]={"ABCD","XYZ"},s3[80];
scanf("%s",s3);
printf("%s,%s\n",s1,s3);
for(i=0;i<2;i++)printf("%s\n",s2[i]);
2、用字符指针:字符指针指向一个字符串,字符指针数组处理多个字符串。如:
int i;
char *p1="abc",*p2[]={"ABCD","XYZ"},**p;
printf("%s\n",p1);
for(i=0;i<2;i++)printf("%s\n",p2[i]);
p=p2;
for(i=0;i<2;i++)printf("%s\n",*p++);
3、字符数组与字符指针配合一起使用:字符数组提供字符串的存储,处理字符串用字符指针
char s[80],*p;
p=s;
scanf("%s",p);
printf("%s",p);
在string.h中所有处理字符串函数,对字符数组和字符指针都适用。
⑶ C语言在编译运行字符结果时一直显示对应的ASCII怎么回事
殇雪璃愁 的回答说得对的。
可见把char 作为%d来输出时,是并不会发生“内存访问越界”的。
但是第二行的输出,两个整数之间是应该用分隔符分开的,例如printf("%d %d ",c1,c2);
⑷ 在c语言中 字符串如何去定义有几种定义方法
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
⑸ 编译 字符转义 C语言
#define A B所做的就是把源文件中B所出现的地方,用A完整的代替;
在你这里#define catcaine ;当然能够通过;而#define catcaine ‘\73’完全不能通过;
比如对于下面一个片段
int a;
char b;
使用#define catcaine ;
int a catcaine
int b catcaine编译的时候,编译器会自动吧catcaine替换为;和原来一样,所以是正确的
使用#define catcaine ‘\73’
int a catcaine
int b catcaine编译后,会替换为
int a '\73'
int b '\73'这当然不能通过
⑹ C语言怎么定义中文字符
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
⑺ C语言中如何定义字符串
可以用数组或指针
数组:
char s[80]="abcd";或者char s[80]={"abcd"}; /*说明:自动加字符串结束标志: */
char s[80]={"a","b","c","d","