相关疑难解决方法(0)

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

gcc和turbo C的输出差异

为什么会出现在当代码使用两个编译器编译产生的输出的差值gccturbo c.

#include <stdio.h>

int main()
{    
    char *p = "I am a string";
    char *q = "I am a string";

    if(p==q)
    {
        printf("Optimized");
    }
    else{
        printf("Change your compiler");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到"Optimized"gcc"Change your compiler"turbo c.为什么?

c c++ compiler-construction string optimization

14
推荐指数
4
解决办法
4327
查看次数

C语言中的溢出和下溢

你能解释的家伙我溢出和下溢如何工作的signed char,并unsigned char

int main () {
    signed char c;

    scanf("%d",&c);
    printf("%d\n",c);
    printf("%c\n",c);

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

在这种情况下,如果谢谢scanf,我说c=200有一个溢出,这是由第一个显示printf.

第二个printf给我相同的ASCII符号200 ...
为什么?

c

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

打印char的十进制值

用于打印char的十进制值的程序:

#include<stdio.h>

int main(void){

  char ch = 'AB';
  printf("ch is %d\n",ch);

}
Run Code Online (Sandbox Code Playgroud)

为什么打印第二个字符的十进制值,为什么不是第一个字符的十进制值?

输出: ch is 66

c

0
推荐指数
1
解决办法
1743
查看次数

为什么这个程序不适用于大于25个字符的输入?

这个程序适用于输入: "problem"

但停下来: "this is the problem,this is the problem,this is the problem"

为什么?

#include <stdio.h>

int main()
{
    char *p;
    gets(p);
    puts(p);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有没有内存保护问题?

c pointers

-2
推荐指数
1
解决办法
119
查看次数

C中的字符串内存分配

任何人都可以澄清一下吗?

char str[1];
strcpy(str, "HHHHHHHHHHHH");
Run Code Online (Sandbox Code Playgroud)

这里我声明了一个大小为1的char数组,但是程序不会崩溃,直到我输入超过12个字符而且我只有一个数组大小.为什么?

c memory arrays char

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