一个简单的C程序的相关问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:31:07
在提问主问题先,先问两个小问题
1.空字符与空格符有什么区别,除了asc||值不同外?
2.地址常量是什么意思,它和地址变量有什么不同?能否赋予值.举例比如数组里面的数组名,是地址常量来说说.

能否把以下do while循环改为while for循环
main()
{ char c;
do
{ c=getchar();
printf("%c",c);}
while(c!='\n');
}
请确切详细的回答,回答的好的,追加分数.希望大家来讨论一下,我是个初学者,有望大家指点.
关于3楼的回答,地址常量它的值是固定,还是它的地址固定的?我能否给它赋值?
至于空字符.我应该如何在键盘上表示出来,比如,我输入一个字符串,最后一空字符,是输入空格键吗?

空格符号和空字符是不一样的,在ASCII里面,空格符号的ASCII码是0x20,而空字符是0x0,2个是完全不一样的2个字符呵呵.
空字符一般来描述一个字符串的结尾,其实是控制符的一种,但不能理解为没有字符,应该理解为代表什么都没有的字符.好比回车0x0A和换行0x0D虽然不显示,但是也是控制字符的一种.
地址常量和地址变量肯定有区别啊,我就拿数组名来说吧,数组名是一个地址,而且,还是一个不可修改的常量,完整地说,就是一个地址常量。数组名跟枚举常量类似,都属于符号常量。数组名这个符号,就代表了那块内存的首地址。注意了!不是数组名这个符号的值是那块内存的首地址,而是数组名这个符号本身就代表了首地址这个地址值,它就是这个地址,这就是数组名属于符号常量的意义所在。由于数组名是一种符号常量,因此它是一个右值,而指针,作为变量,却是一个左值,一个右值永远都不会是左值,那么,数组名永远都不会是指针!

c=getchar();
printf("%c",c);
while(c!='\n');
{
c=getchar();
printf("%c",c);
}

while for??
要for来干吗

我也是初学者,关注你的问题。

我也不会