简单的C程序不会返回数字的平方

时间:2014-04-10 23:22:19

标签: c

教科书中的超级基础C程序。

想要返回valA的平方。

int squarer(int valA) {
    return valA * valA;
 }

int main(int argc, const char * argv[])
{
    int valA = 5;
    squarer(valA);
    printf("\"%d\" squared is \"%d\".\n", valA, squarer);
    return 0;
 }

代码将"5" squared is "3824".打印到控制台。

1 个答案:

答案 0 :(得分:10)

您刚刚打印了squarer功能的地址。如果编译时启用了警告(-Wall或类似),编译器会告诉你。

调用squarer的结果并未存储在任何地方:您只是把它扔掉了。

如果你写

int result = squarer(valA);
printf("\"%d\" squared is \"%d\".\n", valA, result);

你会看到正确的答案。