user-0 提问: 新人求解答:debug error错误

回复:
user: user-1
content: 已经说得很清除了，doperation没有初始化。 根源是这句：  printf("请输入运算符:\n",doperation); 看样式是笔误写错了。 其他的问题： scanf不能用%d格式串来输入float类型数据 scanf("%c"之前要清理输入缓冲区，否则会获取上次输入的回车符。 我给你改了下，vs2008调试通过，有问题给我留言： float number_1=0,number_2=0;     char doperation = '\0';      //输入界面     printf("请先输入第一个数字，然后再输入第二个数字,最后输入运算符\n");     printf("请先输入第一个数字:\n",number_1);     scanf("%f",&number_1);     printf("请再输入第二个数字:\n",number_2);     scanf("%f",&number_2);     getchar();     printf("请输入运算符:\n");     scanf("%c",&doperation);     //逻辑判断区域     switch (doperation)     {     case '+':          printf("结果为:%f",number_1+number_2);         break;     case '-':          printf("结果为:%f",number_1-number_2);         break;     case '*':          printf("结果为:%f",number_1*number_2);         break;     case '/':          printf("结果为:%f",number_1/number_2);         break;     default:         printf("输出错误");      }     getchar();     return 0;

user: user-2
content: 你是来搞笑的吗，float类型用%n?

user: user-3
content: 无时警告/错误的新人太可怕了  1>  main.c 1>c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(10): warning C4474: printf: 格式字符串中传递的参数太多 1>  c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(10): note: 占位符和其参数预计 0 可变参数，但提供的却是 1 参数 1>c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(11): warning C4477: “scanf”: 格式字符串“%d”需要类型“int *”的参数，但可变参数 1 拥有了类型“float *” 1>c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(12): warning C4474: printf: 格式字符串中传递的参数太多 1>  c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(12): note: 占位符和其参数预计 0 可变参数，但提供的却是 1 参数 1>c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(13): warning C4477: “scanf”: 格式字符串“%d”需要类型“int *”的参数，但可变参数 1 拥有了类型“float *” 1>c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(14): warning C4474: printf: 格式字符串中传递的参数太多 1>  c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(14): note: 占位符和其参数预计 0 可变参数，但提供的却是 1 参数 1>c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(15): warning C4477: “scanf”: 格式字符串“%c”需要类型“char *”的参数，但可变参数 1 拥有了类型“int” 1>c:\users\administrator\documents\visual studio 15\projects\project1\project1\main.c(14): error C4700: 使用了未初始化的局部变量“doperation”

user: user-4
content: #include <stdio.h> int main(void)  { 	float number_1=0,number_2=0; 	char doperation;  	//输入界面 	printf("请先输入第一个数字，然后再输入第二个数字,最后输入运算符\n"); 	printf("请先输入第一个数字:\n"); 	scanf("%f",&number_1); 	printf("请再输入第二个数字:\n"); 	scanf("%f",&number_2); 	printf("请输入运算符:\n"); 	getchar(); 	scanf("%c",&doperation); 	//逻辑判断区域 	switch (doperation) 	{ 	case '+':  		printf("结果为:%f",number_1+number_2); 		break; 	case '-':  		printf("结果为:%f",number_1-number_2); 		break; 	case '*':  		printf("结果为:%f",number_1*number_2); 		break; 	case '/':  		printf("结果为:%f",number_1/number_2); 		break; 	default: 		printf("输出错误");  	} 	getchar(); 	return 0; }

user: user-5
content: 崩溃的时候在弹出的对话框按相应按钮进入调试，按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处，看不懂时双击下一行，直到能看懂为止。