C语言程序编写中犯的错误的记录(一)

今天学习用到了《C程序设计(第四版)》的求两个数的最大值的程序
devcpp程序:
#include <stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
system("pause");
return 0;
}
int max(int x,int y)
{
int z;
if (x<y) z=y;
else z=x;
printf("%d\n",z);
return (z);
}

vs2017程序:
#include <stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf_s("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
system("pause");
return 0;
}
int max(int x,int y)
{
int z;
if (x<y) z=y;
else z=x;
printf("%d\n",z);
return (z);
}

‘scanf‘:这个函数/变量可能是不安全的,考虑使用scanf_s来替换它。如果要想忽略这样警告,请使用宏_CRT_SECURE_NO_WARNINGS
引用自"http://bbs.csdn.net/topics/390508208?page=1"

遇到的错误:
1、中英文字符问题:输入法默认中文,在编辑界面为英文,但运行弹窗时自动切换回中文,输入两个数之间的逗号为中文,导致程序运行错误。
2、在测试中,为排除问题使用scanf("%d,%d",&a,&b);时,变量前忘记加&,导致程序运行错误。

原文地址:http://blog.51cto.com/13640616/2085852

时间: 2024-11-06 10:57:16

C语言程序编写中犯的错误的记录(一)的相关文章

C语言程序编写涉及内存的问题

在平常的C语言程序编写中往往都会涉及内存的问题,下面分享一些常见的问题范例及相关解答,可以学习IT500强面试官谈算法面试题. void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, “hello world”); printf(str); } 请问运行Test 函数会有什么样的结果? 答:程序崩溃. 因为GetMemo

十个JAVA程序员容易犯的错误&#187;

十个JAVA程序员容易犯的错误 ▉1. Array 转 ArrayList 一般开发者喜欢用: List<String> list = Arrays.asList(arr); Arrays.asList() 会返回一个ArrayList,这是Arrays里内嵌的一个私有静态类,而并不是java.util.ArrayList 类java.util.Arrays.ArrayList 有set(), get(), contains()方法,但并支持添加元素,所以大小是固定的,想要创建一个真正的Arr

标准动作中犯的错误,使用过程中忘记写结束符号所发生的错误

例如 错误写法: <jsp:getProperty property="userName" name="user" > 正确写法:<jsp:getProperty property="userName" name="user" /> 导致的异常: HTTP Status 500 - type Exception report message description The server encounte

编写一个删除c语言程序文件中所有的注释语句

//删除c语言程序中所有的注释语句,要正确处理带引号的字符串与字符串常量 #include <stdio.h> using namespace std; #define MAXLINE 1000 void rcomment(int c); void in_comment(void); void deleteTail(void); FILE* fp; FILE* fp2; int main() { fp=fopen("C:\\Users\\Administrator\\Desktop\

程序编写中的细节问题

"千里之堤,毁于蚁穴".非常多软件问题并非由重大的缺陷引起的,反而是一些非常细小的问题造成的.以下罗列最近软件开发过程中,我遇到的几个程序编写的细节问题案例.         案例一: 某软件版本号要实现从本地配置的文件夹中扫描出文件并进行处理的功能,仅仅有满足特定前缀的文件才干被扫描出来.文件的前缀在配置文件里进行手动配置.在測试的过程中.我们发如今文件夹中有非常多满足配置前缀的文件,但一个都没有被扫描出来. 问题究竟出在哪里呢?为了查找问题原因,我们在代码中加入了非常多的调试日志,

Java程序员容易犯的错误

Array 转 ArrayList一般开发者喜欢用: List list = Arrays.asList(arr); Arrays.asList() 会返回一个ArrayList,这是Arrays里内嵌的一个私有静态类,而并不是java.util.ArrayList类java.util.Arrays.ArrayList 有set(), get(), contains()方法,但并支持添加元素,所以大小是固定的,想要创建一个真正的ArrayList,你应该: ArrayList arrayList

程序员在页面上常犯的错误以及改正方法

我是一个性情乖戾的Web用户,但我想这也帮助促使我成为了一名优秀的Web开发人员.当我看到一个网站上有让人不爽的设计时就会非常的恼怒,一些很简单的东西为什么做不好?下面是5种常见的可用性方面的错误,以及如何纠正这些问题的方法.给自己方便,也与人方便,确保自己不要犯这样的错误. 使用表达submit事件,不要用click事件:请用表单标签form! 我不知道遇到过多少次,当我使用回车键提交一个表单时(或手机上用箭头/输入键),却什么都没发生.我只好又用鼠标点击提交按钮,表单终于有了反应.这是我最痛

ubuntu中编写helloworld简单c语言程序(先贴上,这个还需要改,因为自己的vi有点问题)

1.首先用vi编写一个c语言程序文件,命令行输入:vi helloworld.c,建立一个名叫"helloworld.c"的文件 2.在文件中输入内容 #include <stdio.h> int main() { printf("hello world!"); return 0; } 3.命令模式下输入:wq,保存并退出 4.输入gcc helloworld.c,编译默认shengc生成名为a.out的执行文件,可以用gcc -o 编译生成其它名字的执

Python 程序员经常犯的 10 个错误

关于PythonPython是一种解释性.面向对象并具有动态语义的高级程序语言.它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得... 关于Python Python是一种解释性.面向对象并具有动态语义的高级程序语言.它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得它在快速应用开发中非常有吸引力,并且可作为脚本或胶水语言来连接现有的组件或服务.Python支持模块和包,从而鼓励了程序的模块化和代码重用. 关于这篇文章 Python简单易学的语法可能会使Python开发