gpt4 book ai didi

c++ - 访问数组的最后一个元素

转载 作者:太空宇宙 更新时间:2023-11-03 10:20:30 31 4
gpt4 key购买 nike

我正在尝试访问 C++ 数组中的最后一个元素(更具体地说,我正在尝试将整数转换为字符数组,然后访问最后一位数字)。到目前为止,这是我的想法:

int number_to_convert = 1234;
char * num_string;
sprintf(num_string, "%d", number_to_convert);
printf("Number: %d Sizeof num_string: %d Sizeof *num_string: %d Sizeof num_string[0]: %d\n", number_to_convert, sizeof(num_string), sizeof(*num_string), sizeof(num_string[0]));

使用此信息,我尝试了几种不同的组合来访问最后一个元素:

num_string[sizeof(number_to_convert)/sizeof(*number_to_convert)-1];
num_string[sizeof(number_to_convert)-sizeof(char)]

也许有更好的方法来获取最后一位数字,但这是我能找到的最好方法。我想要最后一个字符(不是空字符)。

最佳答案

对于 n 的最后一位小数,尝试 n % 10

要获取该数字的文本数字字符,请使用 '0' + (n % 10)

对于任何其他基数,将 10 替换为该基数。


“因为我可以”的方式:

std::ostringstream s;
s << n;
char last_digit = *s.str().rbegin();

甚至:

const char last_digit = *static_cast<std::ostringstream&>(std::ostringstream() << n).str().rbegin();

关于c++ - 访问数组的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7183741/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com