c语言-请问这代码有错吗?为什么我输入一个字符然后按回车,程序就停止运行了?

问题描述

请问这代码有错吗?为什么我输入一个字符然后按回车,程序就停止运行了?

#include
void chline(char, int, int);
int main()
{
int n, m;
char ch;
printf("Please enter an character:n");
scanf_s("%c", &ch);
printf("Please enter two integers:n");
scanf_s("%d%d", &n, &m);
chline(ch, n, m);
return 0;
}
void chline(char ch, int n, int m)
{
int i;
for (i = 1; i <= n; i++)
printf(" ");
for (; i<= m; i++)
printf("%c",ch);
printf("n");

}

解决方案

不知道你用的是哪个版本?我用vc2010运行没有问题。
你试试这个:

    scanf_s("%c", &ch,sizeof(ch));

解决方案二:

我用codeblock 没有问题

解决方案三:

return 前加个getchar()

解决方案四:

两个%d之间加一个“,”号,输入的时候也加逗号

时间: 2024-11-05 14:50:52

c语言-请问这代码有错吗?为什么我输入一个字符然后按回车,程序就停止运行了?的相关文章

《Python语言程序设计》——2.3 从控制台读取输入

2.3 从控制台读取输入 关键点:从控制台读取输入可以让程序从用户处接受输入.在程序清单2-1中,一个半径值被设置在源代码中.为了使用另一个半径值,你不得不修改源代码.可以利用input函数输入一个半径值.下面的语句提示用户输入一个值,然后将它赋给变量variable: https://yqfile.alicdn.com/bad583518861456d2aaf67b1ccb745b385b6954d.png" > 输入的值是一个字符串.你可以使用eval函数来求值并转换为一个数值.例如:

strlen-C语言 请问这两行代码是什么意思

问题描述 C语言 请问这两行代码是什么意思 for(int i = 0; i < strlen(charSet); i++) hash[charSet[i]] = 1; 下面是完整代码 // Created by www.runoob.com on 15/11/9. // Copyright ? 2015年 菜鸟教程. All rights reserved. // #include #include #include // 删除字符串中指定字母函数 char* deleteCharacters

c++-OpenGL初学,请问我这段代码有错吗?为什么在窗口显示不出来

问题描述 OpenGL初学,请问我这段代码有错吗?为什么在窗口显示不出来 #include #include #include #include #include const GLint screenWidth = 640; const GLint screenHeight = 480; void myInit(void) { glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluO

【C 语言】 这个代码错在哪了?我用的是Dev C++

问题描述 [C 语言] 这个代码错在哪了?我用的是Dev C++ /*题目:输入某年某月某日,判断这一天是这一年的第几天?*/ #include #define MONTH 12 struct date{ int Day; int Month; int Year; }; int main() { int count,days,month; struct date today; int daysPerMonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};

c语言-关于栈的链式结构,请问以下代码问题在哪?

问题描述 关于栈的链式结构,请问以下代码问题在哪? #include #include struct node { int data; struct node next; }; struct node *createemptystack_link(void) { struct node *top; top=(struct node)malloc(sizeof(struct node)); if(top!=NULL) top->next=NULL; else printf("out of s

c语言-C语言,请问这两行代码是什么意思

问题描述 C语言,请问这两行代码是什么意思 请问 else printf("^%-4c",ch+64);和 if(i%8 == 0) printf("n");这两句是什么意思 #include int main(void) { char ch; int i; for(i=1; (ch=getchar()) != EOF; i++) { if (ch >= ' ' || ch == 'n' || ch == 't') printf("%-5c"

malloc-C语言,请问这代码哪里错了 在新行按ctrl+z没办法终止输入

问题描述 C语言,请问这代码哪里错了 在新行按ctrl+z没办法终止输入 printf("请输入单链表的数据: "); list = LinkedListCreatT(); for (start = list->next; start != NULL; start = start->next) printf("%d",start->data); printf("n"); LinkedList LinkedListCreatT()

c语言-请问C语言是怎么运行的?

问题描述 请问C语言是怎么运行的? 大家好,请问C语言是怎么运行的呀?我 是菜鸟一个,想学C语言,哪个高手帮忙解决?需要什么编译器?怎么搭建环境? 解决方案 什么都不需要,打开codepad.org 左侧语言选择C 右侧写上一段代码 点提交,勾选运行代码 就可以看到输出结果了. 你甚至可以只使用一个能上网的手机也能写程序. 解决方案二: 装个ubuntu的系统.打开终端. vim test.c 编辑段代码. 然后 gcc test.c 会生成一个a.out文件. 输入./a.out就行了. 解决

数据-这段代码哪里错呀,帮我改改可好,谢谢啦

问题描述 这段代码哪里错呀,帮我改改可好,谢谢啦 #include"stdio.h" struct STUDENT { char id[3]; char name[10]; int score[5]; double ave; }stu[10]; void main() { int num=10,i,j,all=0; for(i=0;i<num;i++) { printf(" 请输入第%d学生的数据:",i+1); printf(" 学号: "