C言語なら俺に聞け(入門篇) Part 21at TECH
C言語なら俺に聞け(入門篇) Part 21 - 暇つぶし2ch406:デフォルトの名無しさん
07/11/16 21:10:12
初歩的な質問スミマセン

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
char *cp=NULL;
void *ptr=NULL;

if((ptr=(char*)calloc(10,sizeof(char)))==NULL){
printf("error\n");
exit(EXIT_FAILURE);}

if((cp=strchr(fgets(ptr,100,stdin),'\n'))!=NULL){
*cp='\0';}

printf("%s",ptr);

return EXIT_SUCCESS;
}

半角文字10文字分のメモリをcalloc関数で確保して
fgets関数で10文字以上入力しましたが
普通10バイト分の配列を用意しfgets関数でそれ以上の文字を入力すると
オーバーフローが起き、強制終了しますよね?
ですがこれでは起きないんです、何故でしょうか


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch