str = 'hello world'; unique_chars = unique(str); counts = histcounts(double(str), [double(unique_chars) inf]); disp('字符:'); disp(unique_chars); disp('频数:'); for i = 1:length(unique_chars) fprintf('%c',counts(i)); end中fprintf仍然会输出空值
时间: 2024-04-04 16:30:58 浏览: 37
一个简单的Java项目,用于输出“hello world”
对于给定的字符串`str`,`unique_chars`是该字符串中所有不同字符的数组,`counts`是每个不同字符在字符串中出现的次数。在上述代码中,`counts`数组中的元素都是数字类型,而不是字符类型。因此,`fprintf('%c',counts(i))`会将数字`counts(i)`转换为对应的ASCII字符输出,如果`counts(i)`的值不在ASCII码表中,那么将输出空值。因此,即使`counts(i)`不等于0,但如果其值不在0-127的范围内,那么`fprintf('%c',counts(i))`仍然会输出空值。
阅读全文