c - 如何从 C 函数中返回值?

标签 c

int preced(char arr)
{
if(arr=='/')
    return 4;
if(arr=='*')
    return 3;
if(arr=='+' || arr=='-')
    return 2;
if(arr=='(')
    return 1;
} 

上面写的代码给了我一个警告:函数应该返回一个值。 我无法使用该函数应返回的值。 我该如何解决这个问题?

最佳答案

您的函数应该始终返回一个值。这并不是因为您仅在满足某些条件时才返回,即当 arr 时是 '/' 之一, '*' , '+' ,或'('

您必须确保涵盖所有情况:

int preced(char arr)
{
  /* as above */

  return 42; // or whatever
}

关于c - 如何从 C 函数中返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28603618/

相关文章:

从另外两个数组创建一个静态分配的数组

c - 当我 scanf(%s,lastName); 时遇到段错误(正文代码在里面)

c - 如何通过文件处理自动递增数字

c - 在 C 中以编程方式检测 Linux 中的桌面环境

c - fork 时的 Printf 行为

c - 如何将字符附加到字符串?

c - gdb地址: 0x565561f5 instead of 0x41414141

c - 使用已排序的链表进行顺序搜索

c - 使用共享内存时出现 "Bad system call"错误

我可以将文件描述符限制设置为每线程限制吗?