我刚刚开始学习C并且遇到了以下问题:
#include <stdio.h>
#define T 1
int G;
int main(void)
{
int arr[5] = {7,8,9,10,11};
int a;
printf("%d\n", G);
printf("%d\n", arr[T]);
printf("%d\n", arr[G]);
a = arr[T]*arr[G];
printf("%d\n",a);
printf("%c", arr[T]*arr[G]); //why is this answer printed differently from a?
return 0;
}
感谢您的帮助!
答案 0 :(得分:2)
因为您将其打印为带有“%c”的字符。
试试这些:
printf("%d", 65);
printf("%c", 65);
然后查看ascii table。 然后阅读printf Format String。 祝一切顺利。
答案 1 :(得分:1)
考虑到在为其分配值之前使用G,它可以打印任何内容。您的格式也不同。