【问题标题】:Explanation of program节目说明
【发布时间】:2015-11-26 04:17:08
【问题描述】:

这个程序输出的解释是什么?

int main ()
{

    int *mptr, m;

    int *nptr, n;

    m=10;

    n=0;

    mptr=&m;

    nptr=&n;

    printf("%i%i", m, n);

}

/* output is 100*/

【问题讨论】:

  • 你对写“10”和“0”的结果是“100”感到困惑吗?

标签: c


【解决方案1】:

这个程序生成一个整数 10 和一个整数 0,然后将它们打印为字符串 '10' + '0' 所以最终输出是 '100'

它还保留了指向这两个整数的指针,但这些指针没有被使用

【讨论】:

    【解决方案2】:
    1. int *mptrnptrint 类型的指针

    2. mnint 类型的变量。 m=10; 您将值 10 存储在变量 m 中。

    3. mptr=&m 正在将 m 的地址存储在 mptr 指针中。这有效地导致mptr“指向”m。与nptr 相同,但它指向n

    4. printf("%i%i", m, n); printf 表示打印格式。 %i 是打印整数的格式说明符。将m (10)n (0) 的值并排打印,输出100

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 2023-01-15
      • 2015-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多