如果我的字符串在此程序中超過9個字符,我不應該得到一個錯誤嗎?如何在C中使用calloc()?
// CString.c
// 2.22.11
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
char *aString = calloc(10, sizeof(char));
if (aString == NULL)
{
return 1;
}
printf("PLEASE ENTER A WORD: ");
scanf("%s", aString);
printf("YOU TYPED IN: %s\n", aString);
//printf("STRING LENGTH: %i\n", strlen(aString));
}
感謝
blargman
你傳遞的是什麼scanf是一個指針..和C運行時間不包含任何關於分配指針大小的信息......它可能會保存該數據..但它是標準C程序無法訪問的......你可能能夠使用堆內省功能獲得可用大小) – vrdhn 2011-02-24 04:05:40