我试图以这种格式打印字符串中每个字符的值:
集合0中的代码2具有值:41 42
集合0中的代码6具有值:41 42 43 44 45 46
我试图通过以下方式做到这一点:
printf("Code %d in set %d has value: %.*s\n", ndx, set, getCode(cs[set],ndx).size, getCode(cs[set],ndx).data);
但是当我这样做时,它会打印与值相关的字符而不是值本身。我该如何以指定的格式打印数据?
答案 0 :(得分:0)
您将数组打印为字符串。而是循环遍历每个字符并打印其十进制值:
int i;
printf("Code %d in set %d has value: ", ndx, set);
for (i = 0; i < getCode(cs[set],ndx).size ; i++) {
printf("%d ", getCode(cs[set],ndx).data[i]);
}
puts(""); //print a newline
答案 1 :(得分:0)
使用%d
说明符:
char str[] = "Hello";
printf("%d\n", str[0]); // Displays 72
printf("%d\n", str[1]); // Displays 101