繁体   English   中英

打印在C函数中作为参数传递的整数

[英]Printing integers passed as arguments in function in C

我对C编程非常陌生,无法编译应该是一个非常简单的函数。 该函数称为printSummary,仅将3个整数用作参数,然后将一些文本与这些整数一起打印。 例如,如果hits = 1,misses = 2和evictions = 3,则printSummary(hits,misss,evictions)应打印以下内容:

命中率:1未命中率:2迁出率:3

这是我正在使用的代码。 在此先感谢您的任何建议。

#include<stdio.h>

void printSummary(int hits, int misses, int evictions)
{
    printf('hits: %d\n');
    printf('misses: %d\n');
    printf('evictions: %d\n');
}

int main()
{
    int hit_count = 1;
    int miss_count = 2;
    int eviction_count = 3;
    printSummary(hit_count, miss_count, eviction_count);
    return 0;
}

编译此代码会给我一些警告,但没有错误。 运行代码时,我遇到了段错误。 就像我说的那样,我对C还是很陌生,所以很可能我只是缺少一个简单的解决方案。 在此先感谢您的任何建议。

进行以下更改。

   printf("hits: %d\n",hits);
   printf("misses: %d\n",misses);
   printf("evictions: %d\n",evictions);

printf有一个

int printf(const char *format, ...)

原型。 因此,在第一个参数中,您可以传递格式说明符,在下一个参数中,提供要打印的实际变量/值

错误是:

void printSummary(int hits, int misses, int evictions)
{
    /* Name: printf
    Prototype: int printf (const char *template, ...)
    Description:
    The printf function prints the optional arguments under the
     control of the template string template to the stream stdout. 
    It returns the number of characters printed,or a negative value if
     there was an output error.*/

    printf("hits: %d\n", hits); // don't use ' it is used only for char variable for example: char a = 'c';
    printf("misses: %d\n", misses);
    printf("evictions: %d\n", evictions);
}

您的printf函数未正确调用。 您必须包括打印所需的整数:

printf("hits: %d\n", hits);
printf("misses: %d\n", misses);
printf("evictions: %d\n", evictions);

在此处阅读有关printf函数的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM