我正在学习C语言,而且我正面临一个我自己无法解决的问题。 我有一个简单的循环,我在每个单词中添加了所有字符的ascii值。C和字符。奇怪的行为
char char_array[100];
int lexicographical_values[20];
int i, j = 0;
for(i = 0; i <strlen(char_array); i++) {
if(char_array[i] == ' ')
j++;
lexicographical_values[j] += (int)char_array[i];
}
然后,如果我输出lexicographical_values阵列中的环
printf("%d word is: %d \n", i, lexicographical_values[i]);
我得到每个字正确的数字(例如:DD = 200等)
但是,如果我实际上看看数组中的每个元素的值,我会得到大数字,这是远远不够的。
问题是,我如何得到正确的值以及printf如何获得正确的值?
谢谢
你可以举一个这些“大数字”的例子吗? – 2010-01-12 02:26:22
你究竟看到了什么,你期望什么? – stefanB 2010-01-12 02:26:55
数组错误的元素?你在看他们吗?如果数字错误,你如何得到正确的答案? 另外,你是否打算为空间增加价值? – freespace 2010-01-12 02:29:22