在 c++ 中使用指针算法



当您不知道数组有多大时,如何显示字符数组中的最后一个字符? 数组 *('\0' - 1( 会起作用吗?

如果一个字符数组包含一个 C 风格的字符串,即它包含一个空终止符,那么你可以应用标准的 C 函数strlen(),像这样:

char s[] = "Hello";
//...
size_t n = strlen( s );
if ( n != 0 ) std::cout << s[n-1] << 'n';

否则,您可以编写如下模板函数:

template <size_t N>
char last_char( const char ( &s )[N] )
{
return s[N-1];
}

并像这样称呼它:

char s[] = { 'H', 'e', 'l', 'l', 'o' };
std::cout << last_char( s ) << 'n';

最新更新