平常遇到的问题——char类型的指针和数组表示的字符串,怎么把字符串指针的字符串一个个输出

注意:用char* letter指向的字符串一定要以'\0'结尾

char* str = "abc2";  // ""自动补足'\0'

for(i=0; i<strlen(str); i++)
{
	char* letter = str[i];
	printf("%s\n", letter);
}

得出的结果为:
abc2
bc2
c2
2
而不是:
a
b
c
2
因为字符串会以'\0'结束

想要得出结果是a b c 2,则修改为:

char* str = "abc2";
char letter[2] = {0};

for(i=0; i<strlen(str); i++)
{
	strncpy(letter, &str[i], 1);
	printf("%s\n", letter);
}
发布了56 篇原创文章 · 获赞 3 · 访问量 2381

猜你喜欢

转载自blog.csdn.net/qq_40674996/article/details/101627552