首先,cout对各个'常用类型'进行了重载,如果是int类型,就输出一个数字,如果是int*类型,就输出地址,如果是char类型,就输出一个字符,但,如果是char*类型,会输出一连串字符,就是字符串了,
cout就是为了将各个数据类型的输出形式进行统一
其次,并不是你系统字符集有问题,而是你定义的方式,注意到你的b和c定义是不同的,定义c时,编译器自动在最后添加了'\0'这个结束符,也就是说c的数组长度是6,你输出b时,cout是不知道你的字符串长度的,找不到结束符,所以后面有乱码
所以你这样定义就对了
char b[6]={'a','b','c','d','e','\0'};追问行,我知道了。因为我学的时候记得,数组作为形参传递的是内存的存储位置,我就以为所有通过打印数组名,就是打印数组的存储位置。
c++数组输出的问题。
cout就是为了将各个数据类型的输出形式进行统一 其次,并不是你系统字符集有问题,而是你定义的方式,注意到你的b和c定义是不同的,定义c时,编译器自动在最后添加了'\\0'这个结束符,也就是说c的数组长度是6,你输出b时,cout是不知道你的字符串长度的,找不到结束符,所以后面有乱码 所以你这样定义就对...
C++ 字符数组,输出问题
字符数组末尾缺一个'\\0''\\0'标志着字符串结束,它的值是0,它不是空格。当输出字符数组或字符指针时,依次输出各个字符,遇到'\\0'时结束。abcde后面的内存空间存的数是乱七八糟的,也有0,所以输出一些”乱码“后才停止输出。这样就没问题了:char a[6]={'a','b','c','d','e','\\0'...
c++二维数组输入输出问题
cin >> a[i][100]; 只能输入一个字母,改为cin >> a[i];cout << a[i][100]<<endl; 这个是输出每个字符串第100个字符,而且这个for循环只能将输入字符串的顺序颠倒,及先输入后输出 最好定义的时候初始化char a[100][100] = {0};...
写个C++程序,但是字符数组的值输出的是乱码什么情况??
楼主注意字符数组的输入,cin>>字符数组的地址。改过来就没问题了void input(course *cour,int i){ int j; for(j=0;j<i;j++) {cout<<"请输入第"<<j+1<<"科的课程编号、课程名称、课程成绩"<<endl; cin>>cour[j].course_num; cin>>cour[j].course_name; cin>>cour[j]....
C++题目,为什么输出的总是最后一个数呢?
之后数组已经被改变了,会缺少很多值。,你可以在cout<<nax=之前 对数组输出试试, 就是加一个for循环,输出整个数组。你就知道为什么结果不对了。你看看这个代码参考一下 include<iostream.h> const int n=5;void main(){ int a[n],*p,*t,i;p=a;t=a;for(i=0;i<n;i++)cin>>a[i]...
dev c++输出二维数组时全部输出成了一行?
你的程序我帮你改好了,是换行符的位置不对 完整的程序如下(改动的地方见注释)include<stdio.h> int main(){ int a[3][4]={{6},{8},{3}};int i,j;for(i=0;i<=2;i++){ for(j=0;j<=3;j++){ printf("%5d",a[i][j]);\/\/这里去掉换行符 } printf("\\n");\/\/这里加...
C++, 输入一个3*3的数组,由大到小排序,在输出,结果有问题,求解答
int a[3][3]; 是函数里的局部量,通过 return &a[0][0]; 数值是不能带回来的,因为退出函数数组就没了。必须声明为 static.函数修改如下:int *shuzhu(int m,int n){ static int a[3][3];int i,j;for(i=0;i<m;i++) for(j=0;j<n;j++) cin>>a[i][j];int *d;d=...
C++ 数组与字符串的输出
string s = "Hello"; cout << s;这段代码会输出字符串s的内容。然而,需要注意的是,使用数组定义字符串时,如char str2[]={'C','o','m','p','u','t','e','r'},虽然可以正确输出字符串内容,但不会在字符串末尾自动添加'\\0'。这意味着如果尝试访问或修改数组中的后续元素,可能...
C++中的数组a[]可以直接cout<
字符数组是可以用这种方式输出的,因为数组名即代表首地址,数组是一块连续的内存空间,所以能直接输出.如果是其他类型的数组则输出的是一个地址.
关于C++中数组的输入输出问题
数组下班从0到9,所以不能用i=10。for(i=10;i>=0;i--)改成 for(i=9;i>=0;i--)