我正在浏览一些关于 C 的基本教程,使用Code::Blocks
.
任何人都可以用下面的代码帮助我,并给出一些解释吗?它构建但在运行时崩溃。
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAX_LEN 40
main()
{
int pos;
char *line,*aster,*blank;
line=(char *)malloc(MAX_LEN);
aster=(char *)malloc(1);
blank=(char *)malloc(1);
line=" ";
aster="*";
blank="";
printf("Enter position of star (1-40): ");
scanf("%d",&pos);
if(pos>0&&pos<41)
{
printf("\n");
printf(" 1 2 3 4\n");
printf("1234567890123456789012345678901234567890\n");
puts(strcat(strncat(blank,line,pos-1),aster));
}
else
printf("Out of range");
}
问题似乎出在 strcat 代码行中,我猜是指针的使用?