相关疑难解决方法(0)

未签名和签名的比较

这是非常简单的代码,

#include <iostream>
using namespace std;
int main() {
    unsigned int u=10;
    int i;
    int count=0;
    for (i=-1;i<=u;i++){
        count++;
    }
    cout<<count<<"\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

count的值是0.为什么?

c++

5
推荐指数
1
解决办法
1628
查看次数

unsigned int和signed char比较

我试图将unsigned int与这样的signed char进行比较:

int main(){
  unsigned int x = 9;
  signed char y = -1;
  x < y ? printf("s") : printf("g");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我期待o/p为"g".相反,它的"s".这里进行了什么样的转换?

c type-conversion char unsigned-integer

4
推荐指数
1
解决办法
5035
查看次数

打印数组中的元素

可能重复:
对C宏扩展和整数运算感到困惑
一个谜语(在C中)

以下C程序的输出是打印数组中的元素.但是当实际运行时,它不会这样做.

  #include<stdio.h>

  #define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0]))
  int array[] = {23,34,12,17,204,99,16};

  int main()
  {
      int d;

      for(d=-1;d <= (TOTAL_ELEMENTS-2);d++)
          printf("%d\n",array[d+1]);

      return 0;
  }
Run Code Online (Sandbox Code Playgroud)

这是为什么?

c c++ arrays printf

3
推荐指数
1
解决办法
945
查看次数

标签 统计

c ×2

c++ ×2

arrays ×1

char ×1

printf ×1

type-conversion ×1

unsigned-integer ×1