问一个问题,烦恼了很久了
下面这段代码在TC中能够正常的编译、连接、运行。可是在VC中能够编译,连接,却不能运行,
一运行就崩溃。
#include <stdio.h>
main()
{
char *s;
scanf("%s",s);
printf("%s",s);
getch();
}
用数组的方式来分配内存,数组的下标不能太大。
我的意思是能不能让程序自己根据字符串的数量来自动分配内存。
谢谢
加上的这句话好像有问题,编译报错。 new运算符不是java、c++中的吗
是,你不是在VC中编译的吗,所以用了NEW
是,你不是在VC中编译的吗,所以用了NEW
#include <stdio.h>
int main( void )
{
char *s;
s = new char[20];
scanf("%s",s);
printf("%s",s);
}
编译环境VC6.0
error C2065: 'new' : undeclared identifier
warning C4047: '=' : 'char *' differs in levels of indirection from 'int '
error C2143: syntax error : missing ';' before 'type'
Error executing cl.exe.
test.exe - 2 error(s), 1 warning(s)
好像不可以呀