❶ c語言字元串復制問題
#include <stdio.h>
void main()
{
char *a="I am a teacher. ";//a指向字元常量區字元串,通過指針不能改變它的內容
// char *b="You are a student. ";下面有賦值操作,不能是常量字元串
char b[]="You are a student. ";//字元數組
printf("string a=%s",a);
printf("\nstring b=%s\n",b);
char *t=b;//指向數組首端
//*
for(;*a!='\0';)
{
*t++=*a++;
}
//*/和下面的效果相同
/*
while(*a!='\0')
{
*t++=*a++;
}
// */
*t=0;//加結束符,空終止字元串
printf("\nresult string a=%s",a);//指針a指向'\0',顯示為空
printf("\nresult string b=%s",b);
printf("\n");
}
❷ c語言字元串的復制
1、首先需要建立一個新的文件,輸入頭文件和主函數。
❸ 關於c語言中字元串的復制
標准C語言中有對字元串的支持啊,字元串的復制可以用函數 strcpy()。
原型:char *strcpy(char *dest, char *src);
功能:把src所指由'\0'結束的字元串復制到dest所指的數組中。
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。
返回指向dest的指針。
如果不知道str長度,可以先測試下其長度,給要復制的字元串一個長度參考
❹ C語言字元串拷貝
數組名是個地址常量,常量是不能修改的,所以++操作不能應用在數組名上
而函數參數里的數組只是一個指針而已,也就是說你調用mystrcpy時,函數會產生兩個指針分別指向str1和str2的首地址,這兩個指針就可以用++操作了
❺ C語言中怎樣將一個字元串的第0,2,4,6,8……位置的字元復制到另一個字元串中並輸出,求程序
#include<stdio.h>
#include<string.h>
intmain()
{
charstr1[]="123456",str2[7];
inti,j=0,len;
len=strlen(str1);
for(i=len-1;i>=0;i--)
{
str2[j++]=str1[i];
}
str2[6]='