题目一:
错误原因:对c语言的ASCII码调用相关知识混淆,感觉没有VB直观易懂
一个小小的空格搞了许久,
putchar(“ ”)显示为8,?
使用printf(“%d”,“ ”),显示为32-空格的ASCII值
使用printf(“%c”,“ ”),显示为8,?
反向思维putchar(32)成功输出空格
//数字字符串化
#include<stdio.h>
#include<math.h>
void intToString(int x)
{
int i = 0;
int count = 0;//计算输入数字的长度
int bitCount = 1;//代表个位
char arr[100] = { 0 };//初始化,用于存储的每一位数字
while (x / bitCount > 0)
{
bitCount *= 10;
count++;
}
//操作与存入
for (i = 2*count-2; i >= 0; i-=2)
{
arr[i] = (x % 10);
x /= 10;
if (i > 0)
{
arr[i - 1] = " ";
}
}
//输出
for (i = 0; i <2*count-1; i+=2)
{
printf("%d", arr[i]);
putchar(32);
}
putchar('\0');
}