读书人

VS2008写C程序遇到异常求帮助

发布时间: 2012-10-12 10:17:04 作者: rapoo

VS2008写C程序,遇到错误,求帮助
遇到了个小问题,求大神解答,我用得是VS2008,写的是C的程序!

C/C++ code
#include <stdio.h>#include <assert.h>char *mystrcpy(char *strDestination, const char *strSource){       char *strD = strDestination;    assert(strDestination!=NULL && strSource!=NULL);    while (1)    {        char temp;        temp = *strSource;        *strDestination = temp;   //程序运行到这里就弹出,中断        strDestination++;        strSource++;        if (temp == '\0') break;    }    return strD;}void mystrcat(char* str1,char* str2){    while(*str1!='\0') str1++;    while(*str2!='\0')    {        *str1=*str2; //运行到这里也是报错        str1++;        str2++;    }    *str1='\0';}void mystrcat2(char* str1,char* str2){    int i=0,j=0;    while(str1[i]!='\0')i++;    while(str2[j]!='\0')    {        str1[i] = str2[j]; //尝试另一种写法,又是这里错,怎么回事?大神指导下!        i++;        j++;    }    str1[i]='\0';}void main(){    char *str1 = "ah";    char *str2 = "chinacyr";    //mystrcpy(str1,str2);    //mystrcat(str1,str2);}


[解决办法]
char *str1 = "ah";
你这样定义,str1是一个指向字符串常量的指针。
str1你进行strcpy或者strcat的时候是需要有足够的空间来进行数据存储的。
你可以定义成 char str1[100]="ah";
[解决办法]
亲,常量是什么?

读书人网 >C语言

热点推荐