私のコードはここにあります:
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() 関数用)。