S1E22:指针和数组 动手第1题 strcpy问题
为什么后面的for 循环不能把*target2 copy到 *target1前面的是识别中英文的字符
#include <stdio.h>
#define MAX 1024
int main()
{
char str1,str2;
char *target1 = str1,*target2 = str2;
char ch;
int length = 0,i,j;
printf("请输入一个字符串:");
fgets(str1, MAX,stdin);
printf("请输入要考贝的字符个数:");
scanf("%d",&j);
while (1)
{
ch = *target1++;
if (ch == '\0')
{
break;
}
if ((int)ch < 0)
{
target1 += 2;
}
length++;
}
for(i=0;(*target1++)!='\0';i++)
{
(*target2++) = (*target1++);
}
printf("str2为%s\n",str2);
printf("target2:%s\n",*target2);
printf("您总共输入了 %d 个字符!\n", length - 1);
return 0;
}
还有感觉这个中文字符是占3个字节的。。 for循环中每次循环target1前进两次,而target2前进一次 BngThea 发表于 2021-7-5 10:44
for循环中每次循环target1前进两次,而target2前进一次
感谢老师回复{:10_277:}
页:
[1]