小编JoC*_*JoC的帖子

为什么int的范围是-1?

我读到int的范围取决于一个字节.

因此将int设为4个字节长,即4*8位= 32位.

所以范围应该是:2 ^(32-1)= 2 ^(31)

为什么有些人说它2 ^ 31 - 1虽然?

谢谢!

c int numbers range number-systems

7
推荐指数
1
解决办法
3925
查看次数

如何从字符串中删除所有出现的特定字符?

您好我试图从C字符串中删除一个字符,但输出似乎不正确.例如,如果.输入字符串="Hello"要删除的指定字符="l"我的输出是"HeXXo".我似乎需要在删除char之后推送值?

代码如下:

#include <stdio.h>
#include <stdlib.h>

void squeeze(char str[], char c);

void main (){
  char input[100];
  char c;
  printf("Enter string \n");
  gets(input);
  printf("Enter char \n");
  scanf("%c", &c);
  printf("char is %c \n", c);
  squeeze(input , c );

  getchar();
  getchar();
  getchar();
}

void squeeze(char str[], char c){
    int count = 0, i = 0;   

    while (str[count] != '\0'){
      count++;
    }

    printf("Count = %d  \n", count);
    for ( i = 0 ; i != count; i++){
      if (str[i] == c){
            printf("Found at str[%d] …
Run Code Online (Sandbox Code Playgroud)

c string char

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

用C反转数组?

嗨,我尝试实现反向数组代码,但它似乎没有用,我真的不确定为什么。For循环似乎不起作用。我不知道为什么,因为这种逻辑对我来说似乎很正确。

#include <stdio.h>
#include <string.h>

void reverse(char, int);

int main()
{
    char a[100];
    gets(a);

    reverse(a, strlen(a)-1);

    printf("%s\n",a);
    getchar();
    getchar();
    getchar();
    return 0;
}

void reverse(char ar[], int n)
{
    char c;
    int i = 0;
    printf("n = %d" , n);
    for ( i = 0; i >= n ; i++){
        c = ar[i];
        ar[i] = ar[n];
        ar[n] = c;
        printf("Processed");
        n--;}

}


/*
if (begin >= n)
return;

c          = *(x+begin);
*(x+begin) = *(x+n);
*(x+n)   = c;
offs = x++; …
Run Code Online (Sandbox Code Playgroud)

c reverse

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

标签 统计

c ×3

char ×1

int ×1

number-systems ×1

numbers ×1

range ×1

reverse ×1

string ×1