我的代码在这里:
char* kropecka(char* tab)
{
int a=0,b=0;
char* zwr;
zwr=(char*)malloc(30*sizeof(char));
for(a;strlen(tab);a++)
{
if(tab[a]!='.')
{
if(isupper(tab[a]))
zwr[b]=tolower(tab[a]);
if(islower(tab[a]))
zwr[b]=toupper(tab[a]);
b++;
}
}
zwr[b]='\0';
return zwr;
}
没有错误、警告或类似的东西。但是当我给他一些字符串时程序崩溃了:
-------------------------- Microsoft Visual C++ 调试库 ------------------ --------- 调试断言失败!
程序:...s\Visual Studio 2010\Projects\C_homework\Debug\C_homework.exe 文件:f:\dd\vctools\crt_bld\self_x86\crt\src\isctype.c 行:56
表达式:(无符号)(c + 1)<= 256
有关您的程序如何导致断言失败的信息,请参阅有关断言的 Visual C++ 文档。
(按重试调试应用程序)
--------------------------------------- 中止 重试 忽略
编译器:Visual Studio 2010 包含的库:stdio.h、string.h、ctype.h、stdlib.h(用于 main() 中的 system() 函数)。