有以下程序: #include #define f(x)x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d\n",s,t); }

admin2017-01-11  3

问题 有以下程序:
    #include
    #define f(x)x*x*x
    main()
    {  int a=3,s,t;
    s=f(a+1);t=f((a+1));
    printf("%d,%d\n",s,t);
  }
  程序运行后的输出结果是(    )。

选项 A、10,64
B、10,10
C、64,10
D、64,64

答案A

解析 C语言中带参数的宏可以理解为用参数直接替换定义式中的变量,而不经过任何修改。所以s=f(a+1)=a+1*a+1*a+1=3+3+3+1=10,t=f((a+1))=(a+1)*(a+1)*(a+1)=4×4×4=64。
转载请注明原文地址:https://jikaoti.com/ti/YwkiFFFM
0

相关试题推荐
最新回复(0)