[英]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.