C 请问为什么输出随机数

一个输出输入的字符程序
#include<stdio.h>

int d(int c) {
return c;
}
main() {
int a = getchar();
d(a);
putchar(d);

想要的结果是 输入 a 输出 a
实际是 输入a 输出口 (这个口是个随机数)

请问这段的问题是什么。

这并不能产生随机数, putchar把是把字符写入到标准输出 stdout,而你这里是d,d是函数,你应该改为putchar(a);,或者改为putchar(d(a));

1.d是个函数,你打印的是函数的地址
2.你的函数有返回值,但是你调用函数的时候没有把它的返回值赋值给变量。
目前没有任何问题,反正只是输出a而已。
但是当你改变了d,让它有功能了,你还不去接收返回值,那结果就肯定不是你想要的了。

d是函数名啊,你应该putchar(a);啊