我读到int的范围取决于一个字节.
因此将int设为4个字节长,即4*8位= 32位.
所以范围应该是:2 ^(32-1)= 2 ^(31)
为什么有些人说它2 ^ 31 - 1虽然?
谢谢!
您好我试图从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) 嗨,我尝试实现反向数组代码,但它似乎没有用,我真的不确定为什么。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)