指定したバイト数を入力してそのサイズ分メモリを確保してそこにそのバイトの分を文字を入れてて表示するプログラムを作りたいのですが何故かいくらでも入るような処理になってしまいます。これはどうしたらいいのでしょうか?
#include "stdio.h" #include "stdlib.h" int main() { char str[100]; int s; char *c = NULL; printf("確保するバイト数 > "); scanf("%d",&s); size_t t = s; c = calloc(t,sizeof(char)); printf("%zdバイト> ",t); scanf("%s",c); printf("%s\n",c); free(c); c = NULL; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/21 06:34
2020/07/21 06:36
2020/07/21 06:37
退会済みユーザー
2020/07/21 06:38
2020/07/21 06:40
2020/07/21 06:41