这个C程序输出垃圾

sim*_*lue 2 c

#include<stdio.h>
int main()
{
    char a='x'; 
    printf("%c %d",a);
    return 0;
} 
Run Code Online (Sandbox Code Playgroud)

输出:

x 134513696

什么是134513696?

ur.*_*ur. 6

垃圾.这是由于编程错误:您只在堆栈上放置一个参数(a),但printf从堆栈中获取2个值,因为有两个百分号.

如果您打算同时具有输出,字符及其序数值,则应该写入 printf("%c %d", a, a);