我试着运行这个
int array( void )
{
char text[12] = { 112, 114, 111, 103, 112, 0 };
int i;
for(i = 0; text[i]; i = i +1)
printf("%c", text[i]);
printf("\n");
return 0;
}
int main( void )
{
int array(void);
return 0;
}
程序运行,但我没有得到任何结果。现在,当我使用 main 函数定义程序时:
int main( void )
{
char text[12] = { 112, 114, 111, 112, 0 };
int i;
for(i = 0; text[i]; i = i +1)
printf("%c", text[i]);
printf("\n");
return 0;
}
我得到了结果 progr
(按需要)。我已经搜索过,但我发现的唯一相关问题是关于使用 main
作为函数名称和错误输出。也许我正在寻找错误的方式,但如果有人能回答这个问题,我会很高兴。
最佳答案
由于该函数返回 int
,您应该也将其返回值分配给 int
。 或
你可以只用它的名字正常调用它,因为它总是返回一个 0
常量。
int i = array(); // i = 0
// or
array();
它只是打印,它的值总是0
。
然后我建议将其设为 void
,因为您只需要按名称调用它。
#include <stdio.h>
void array()
{
char text[12] = { 112, 114, 111, 103, 112, 0 };
for(int i = 0; text[i]; i++)
printf("%c", text[i]);
printf("\n");
}
int main()
{
array();
return 0;
}
请注意您不能将类型void
分配给任何东西。
关于c - 如果在 main 中定义,为什么程序只提供输出(我该如何更改它)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49372688/