中级会员
 
- 积分
- 230
- 金钱
- 230
- 注册时间
- 2017-1-2
- 在线时间
- 31 小时
|
1金钱
我在vc6.0上编了一段话,如下
#include <stdio.h>
#include <string.h>
char* cipsend_updata(int id,int longs);
int main()
{
char* ATCIPSEND=cipsend_updata(1,10);
printf("ATCIPSEND=%s",ATCIPSEND);
}
char* cipsend_updata(int id,int longs)
{
char cipsend[16]="AT+CIPSEND=0,00";
cipsend[11]=id+0x30;
if(longs<10)
cipsend[14]=longs+0x30;
else
{
cipsend[13]=longs/10+0x30;
cipsend[14]=longs-(longs/10)*10+0x30;
}
printf("%s",cipsend);
return cipsend;
}
输出结果是:
AT+CIPSEND=1,10AT+CIPSEND=
也就是说在cipsend_updata功能里面的打印,打印出来了。但是主函数里的ATCIPSEND并没有被赋值,就是说cipsend_updata的返回值没有返回出来。为什么会这样?
ATCIPSEND=cipsend_updata(1,10);这句话有问题
|
最佳答案
查看完整内容[请看2#楼]
这是找来的链接
http://blog.csdn.net/sinat_27706697/article/details/47856491
2. 字符串常量
[objc] view plain copy
01.charchar *str2 = "good";
02.while (*str2 != '\0') {
03. putchar(*str2++);
04.}
注意: "good"本身就是一个常量内容,它存放在只读存储区,并且有自己的地址,而变量str2中存放的内容就是常量 "good"所在的地址。所以上述str2++操作完全是正确的。
|