小编Moh*_*hit的帖子

printf语句是如何解释的?

GCC编译器如何解释以下行:

printf("HELLO");  
Run Code Online (Sandbox Code Playgroud)

我想知道这个,因为当我运行以下程序时:

main()  
{  
    printf(5+"Good Morning");  
}  
Run Code Online (Sandbox Code Playgroud)

该程序正在打印:

Morning
Run Code Online (Sandbox Code Playgroud)

为什么编译器从第六个字符开始打印?

c printf programming-languages

9
推荐指数
3
解决办法
5988
查看次数

内存分配:Java中引用占用了多少空间?

在Java中我们编写了一个代码:

A a1;
a1 = new A();
Run Code Online (Sandbox Code Playgroud)

编译器编译代码时保留了多少字节的内存:

A a1;
Run Code Online (Sandbox Code Playgroud)

java

8
推荐指数
3
解决办法
7855
查看次数

在Java中抛出ArithmeticException

在Java中,(Number/0)抛出ArithmeticException而(Number/0.0)= Infinity.为什么会这样?

java math floating-point

6
推荐指数
1
解决办法
331
查看次数

C中的字符数组

当我们将字符数组定义为'char name [10]'时,这表明数组'name'可以包含一个长度为十个字符的字符串.但是在下面显示的程序中,数组名称可以包含十个以上的字符.这怎么可能?

//print the name of a person.  
char name[10];  
scanf("%s",name);  
printf("%s",name);  
Run Code Online (Sandbox Code Playgroud)

如果我输入长度大于10个字符的名称,则没有运行时错误,程序将打印我输入的所有字符.如果我输入二十个或更多字符的名称,则程序终止.

注意:我正在使用gcc编译器在Ubuntu9.04上运行该程序.

c arrays character

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

运算符sizeof()在C中

考虑一下该计划

main()  
{  
 printf("%d %d %d",sizeof('3'),sizeof("3"),sizeof(3));  
}
Run Code Online (Sandbox Code Playgroud)

gcc编译器的输出是:

4 2 4
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

c types sizeof

5
推荐指数
2
解决办法
413
查看次数

为什么在C中每次执行后变量的地址都会发生变化?

int i=10;
printf("Address of i = %u",&i);

Output:
Address if i = 3220204848

Output on re-execution:
Address of i = 3216532594
Run Code Online (Sandbox Code Playgroud)

i每次执行程序时,我都会得到一个新地址.这意味着什么?

c pointers programming-languages

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

C中的指针和地址

以下代码操作指向同一位置的指针; 我很困惑为什么当我运行代码时,输​​出没有显示值重合.

#include "stdio.h"  
main()  
{  
int i=3,*x;  
float j=1.5,*y;  
char k='c',*z;  

x=&i;  
y=&j;  
z=&k;  

printf("\nAddress of x= %u",x);  
printf("\nAddress of y= %u",y);  
printf("\nAddress of z= %u",z);  

x++;  
y++;y++;y++;y++;  
z++;  

printf("\nNew Address of x= %u",x);  
printf("\nNew Address of y= %u",y);  
printf("\nNew Address of z= %u",z);  

printf("\nNew Value of i= %d",i);  
printf("\nNew Value of j= %f",j);  
printf("\nNew Value of k= %c\n",k);  
}  
Run Code Online (Sandbox Code Playgroud)

输出:

地址x = 3219901868
地址y = 3219901860
地址z = 3219901875
新地址x = 3219901872
新地址y = 3219901876
新地址z = 3219901876 …

c pointers programming-languages

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