一直在为一个学校项目使用 itoa(),它工作正常,然后开始抛出错误。说它在处理 itoa 的第一个实例时出现分段错误。
这是有问题的代码。
我不明白为什么它一开始会起作用,然后开始出现问题。我唯一添加的 pre-breakdown 是底部的一些 printf() 行,因为我已经在代码中注释掉了它们,但它仍然不起作用。
#include <stdio.h>
#include <stdlib.h>
int main()
{
//Variables
unsigned int byteH=0b00011001;
unsigned int byteL=0b00001110;
char* sValue;
char* sFreq;
float iConv;
char Output[4];
int i;
i=((byteH*32)+byteL); // just adding two 5bit blocks together
itoa(i,sValue,10); // This instance throws the segmenation error
iConv=((byteH*32)+byteL);
iConv=(int)(iConv/1.023);
i=(int)iConv;
itoa(i,sFreq,10); // This instance doesn't cause problems.