先看一段代码:
char *s;
sprintf(s,"%d",123);
此时s中并没有值;
假如换成
char s[3];
sprintf(s,"%d",123);
S中便有值了
我的编译环境是AVR STUDIO,不知道是什么原因,
1,难道是因为声明char *s是没有给S分配内存所导致的,
2,还有种说法是char *s中存放的
字符串常量,存放在静态存储区 ,不能被修改,不知道哪种说法是对的?
更多,参考:atof(将字符串转换成浮点型数)
atoi(将字符串转换成整型数)
atol(将字符串转换成长整型数)
strtod(将字符串转换成浮点数)
strtol(将字符串转换成长整型数)
strtoul(将字符串转换成无符号长整型数)
toascii(将整型数转换成合法的ASCII 码字符)
toupper(将小写字母转换成大写字母)
tolower(将大写字母转换成小写字母)
atof(将字符串转换成浮点型数)
相关函数 atoi,atol,strtod,strtol,strtoul