首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

字符串输出的错误有关问题

2012-03-26 
字符串输出的异常问题#include stdio.h#include stdlib.h#include string.hmain(){char *pabcd,*

字符串输出的异常问题
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
main()
{
  char *p="abcd",*q="mnpq",*strcat();
  printf("%s,%,s,%s\n",p,q,strcat(p,q));
}

连接编译之后 提示出错:

AppName: 01.exe AppVer: 0.0.0.0 ModName: msvcrt.dll
ModVer: 7.0.2600.5512 Offset: 000360b4
 这是什么原因呢? 烦请各位大虾指点!~

[解决办法]

C/C++ code
#include <stdio.h>#include <string.h>int main(){    char p[10]="abcd",*q="mnpq";//改成数组就行了,*p="abcd"是不可修改的,也没有存得下q的空间    printf("%s\n%s\n",p,q);    printf("%s\n",strcat(p,q));    return 0;}
[解决办法]
如果你是想要连接两个字符串,那strcat函数是不能写在变量定义的地方的。

另外,被strcat连接的字符串中,前面的那个不能是常量字符串。而你的程序里两个都是常量字符串。

热点排行