使用size_t时“找不到”的标准

时间:2018-11-22 02:45:22

标签: clang size-t

在执行数组搜索时没有标准使用什么值,但是找不到该值。 签名后,我将返回-1。但是size_t又名unsigned unsigned。

   int find(int a[],int b, int n){
   for(int i=0; i<n; i++){
       if(a[i]==b)
           return i;
   }
   return -1;
   }

使用size_t时会提出这个要求。但这并不完美。

   long long int find(int a[],int b, size_t n){
   for(size_t i=0; i<n; i++){
       if(a[i]==b)
           return (long long int)i;
   }
   return -1;
   }

1 个答案:

答案 0 :(得分:0)

要允许size_t类型具有负值,请签名一个ssize_t类型。

只要特定于其体系结构,就不能依靠size_t的等价于无符号。