0
以下のコードは、文字の平均値を取得しようとしています。これは、単一の文字のために働く は完全に.Butは、予想される結果は97と122(ASCII値)の間でなければなりません文字の平均値
Total is A
65
Total is A
Total is â
Total is ╞
name is -19
文字
#include<iostream>
template<typename T>
decltype(auto) avgval(T const*beg, T const *end)
{
T total{};
while (beg != end)
{
total += *beg;
std::cout << "Total is " << total << "\n";
++beg;
}
return total;
}
int main()
{
char name1[] = "A";
int len = sizeof(name1) - 1;
std::cout << avgval(name1, name1 + len)/len << "\n";
char name[] = "ABC";
int length = sizeof(name) - 1;
std::cout << "name is " << avgval(name, name + length)/length << "\n";
return 0;
}
出力のゴミ値を示し.However私はジャンク値が返さ見ます。すべての説明