在vc++6.0中编的程序在运行时,显示.exe已经停止工作

#includeint main(){int *ptr; scanf("%[abcd]",ptr); printf("ptr=%s尀n",ptr); }
2025-04-19 21:07:42
推荐回答(2个)
回答1:

ptr只是一个指针比变量,
没有为他分配存储空间,
使用自然会出错

建议动态分配一块存储空间给ptr
ptr=(char *)malloc(sizeof(81));
或者
直接使用数组就可以了
char ptr[81]
这两种方案都可以解决这个问题

满意请采纳,不满意请追问

回答2:

scanf("%[abcd]",ptr);这个是什么?让人看不懂。要学好C才行。
ptr是一个指针,你怎么能用scanf()语句赋值。
应该用 malloc语句