C++ 求解
#include<stdio.h>void main()
{
char name,zhuanye;
int xuehao;
printf("请输入自己的姓名,学号,专业:");
scanf("%s,%d,%s",&name,&xuehao,&zhuanye);
printf("%s,%d,%s",name,xuehao,zhuanye);
system("pause");
}
5.exe 中的 0x102514cf (msvcr100d.dll) 处最可能的异常: 0xC0000005: 读取位置 0xffffffc1 时发生访问冲突
在已损坏了程序内部状态的 5.exe 中发生了缓冲区溢出。按“中断”以调试程序,或按“继续”以终止程序。 本帖最后由 jackz007 于 2019-9-22 12:07 编辑
char name ,zhuanye ; // name、zhuanye 必须是拥有足够容量的字符数组
scanf("%s,%d,%s", name,&xuehao, zhuanye); // 必须去掉 name、zhuanye 的取址操作符,建议去掉 "%s,%d,%s" 中间的逗号分隔
system("pause") ; // 调用此函数必须添加包含文件 <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char name , zhuanye ;
int xuehao ;
printf("请输入自己的姓名,学号,专业:") ;
scanf("%s%d%s" , name, & xuehao , zhuanye) ;
printf("%s,%d,%s\n" , name , xuehao , zhuanye) ;
system("pause") ;
}
在加个头文件#include<string.h> 要么使用指针,要么使用数组 你这哪里是C++, char 定义的只有一个字节 scanf的时候 也应当是%c
你这键入字符串 肯定不行撒,用数组 或指针 若 C++ , 还可以用 string 类型
页:
[1]