c++初学者一简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 05:34:41
#include <iostream.h>
void main(){

char *pc;

pc=new char[4];

for(int i=0;i<4;i++)

{
*(pc+i)='a'+i; cout<<*(pc+i);

}

}
我就是想问,为什么cout<<*(pc+i);不能在for语句外呢!如果在for语句外,它运行后为什么出现了一个生僻字?
3.14为什么DOUBIE型而不是FLOAT型的啊,DOUBIE和FLOAT怎么区分,不都是小数吗? 有关于C++的程序教程吗?哪里下载?初学者的! 作用域什么时候释放啊什么的都是怎么回事啊??
为什么有时候cout语句和下一个cout语句间自动换行,而有时候得加ENDL后才换?3.14为什么不是float 型而不是双精度?

#include <iostream.h>
void main()
{

char *pc;

pc=new char[4]; //pc 相当于一个大小为4的字符数组的首地址

for(int i=0;i<4;i++)
{
*(pc+i)='a'+i; //这一步是对上面分配的数组的元素赋值,大小为4,
//所以循环4次,
//pc[0] = a, pc[1] = b, pc[2] = c, pc[3] = d
cout<<*(pc+i); //在每次循环的时候都输出,所以就是依次输出
//数组的值,"abcd".

}

cout << *(pc + i); //如果这里有这一句,因为i此时已经等于4,
//则输出的是数组后面的一个内存单元里面的
//值p[4],是不确定的,,也是不允许的

}

/////////////////
3.14你如果是这样float fValue = 3.14自然是float类型
如果是double dValue = 3.14自然就是double类型。

如果要判断变量fValue和dValue的类型,一般而言可以

if(sizeof(fValue)==4) 是float
if(sizeof(dValue)==8) 是double

初学者,可以到CSDN上下载一些入门的教程,都很不错的
百度搜索CSDN,就可以知道网站地址的。

教你一个绝招,

看这个地址,然后选择你想要的