本人在完成学校编程的时候发现了一个问题,具体题目是这样的
要求通过数组的方式将正整数转换为英文表示字符串 例如输入1 2 3 4 5 输出的是字符型的1 2 3 4 5 最后用cout << a <<endl输出
然后我自己写的代码中运用的是强制类型转换符,能输出以上结果, 但是可惜的是后面会乱码,像下图
因为我好像记得就算不定义字符型变量最后的\0,它数组也会自己补上去,所以不明白到底哪里有问题,会造成乱码
本人在完成学校编程的时候发现了一个问题,具体题目是这样的
要求通过数组的方式将正整数转换为英文表示字符串 例如输入1 2 3 4 5 输出的是字符型的1 2 3 4 5 最后用cout << a <<endl输出
然后我自己写的代码中运用的是强制类型转换符,能输出以上结果, 但是可惜的是后面会乱码,像下图
因为我好像记得就算不定义字符型变量最后的\0,它数组也会自己补上去,所以不明白到底哪里有问题,会造成乱码
字符串a没有初始化:可以char a[n+1] = {0}; 或者 char a[n+1]; memset(a,0x0,n+1);