Home  >  Article  >  Backend Development  >  Is Warning in C language tuned or not?

Is Warning in C language tuned or not?

高洛峰
高洛峰Original
2016-11-22 17:53:471662browse

In fact, most C language engineers do not adjust Warning, but if you are a bitch like me, your hands will feel uncomfortable if you do not adjust it, your heart will feel itchy if you do not adjust it, and you will not be able to sleep well if you do not tease Warning. So let me tell you about Warning’s teasing experience.

First of all, before teasing Warning, we have to ask Error away. In other words, adjust Error first. After getting rid of all the Errors, there is no guarantee that the program will be correct, right? There are also some bugs that do not report Error. Although the bug does not prevent us from teasing Warning. But when I want to tease my little lady, how can I enjoy it when outsiders are watching?

Of course, bugs are often not repairable (in Yuko's words, "There is an old saying in China that is to find fault with the egg"), so let him observe some cheap bugs that do not affect the normal use of the program.

If some new programmers don’t know how to get rid of Error, then let me tell you something.

Error is generally caused by syntax errors. Common mistakes are usually spelling errors (too anxious to tease the little lady, brother, you can't press so fast), and there is no semicolon or semicolon is replaced by a comma. Of course, there are also problems with some "virgins" who can also punctuate Chinese. Report an error.

Of course, we often encounter some strange Errors. These kind of people are just looking for trouble. Check to see if there is any problem with the Chinese path. Some Errors can even be resolved by reopening the compiler. It really doesn’t work. Baidu, Google, Bing, etc. (Google still seems to need to be translated *qiang. I am used to using Bing. I have my own habits. Indeed, many people are using Google. It is recommended for beginners to use Baidu. Common Errors for beginners have been answered badly in Baidu. After all, Google It seems that you still have to turn the *qiang now. A bitch like me doesn't like to turn the *qiang)

Well, gentlemen, let's start taking off your belts.

First tease the ones that can be deleted. Sometimes a variable or function is declared and then never used. This is a common warning bitch, and my experience is to delete it. Even if some variables are things that you know will be used in subsequent upgrades. If you are not completely sure that it is necessary to reserve it, then we will discuss the issue in the next edition. Of course, if the declared function has been written but is useless, it can be collected and kept for future use, but if it has nothing to do with the program, it is better to delete it. Although my general approach is to only delete multiple-declared variables and not delete multiple-declared functions.

There is no variable to accept the return value. The return value of some non-empty functions is almost meaningless. It returns 1 on success and 0 on failure. This kind of return value may be useful if it is set in a branch. In fact, people originally wrote that function to facilitate branching. So since it's not in the branch. If this value is of no use, then this little bitch should be relegated to the sidelines. Pretend not to see it.

The function of a certain header file is called but the header file is not included.

For example: warning: type mismatch with previous implicit declaration

implicit declaration of function '***'

Just include the header file.

The list and the call do not correspond to too few arguments for format

For example: printf("%4d %4d",a);

In this way, either add one. Did you feel that there was a value that was always not displayed? I thought it was a bug. Hehe

Of course, there are some people who typed one more because their hands were shaking, so I’ll delete it.

Logical operator or/and The range of both sides of the expression is not known.

My habit is to put parentheses on both sides of or and and, so I rarely encounter this warning. After all, when I encounter this, I have to analyze the logical relationship at the time, which is quite time-consuming. It is better to develop good habits before. . Of course, if you insist on keeping it for fun, there's nothing I can do about it. Then you should quickly close the door and live a world of two with your warning lady.

Operations are meaningless on values

For example, you declare int *p;

and then you declare *p++;

I think you mean (*p)=(*p)+1;

Take a look at what you wanted to express at that time.

redefined, this means declared multiple times. Then just declare it once. Use #ifndef to avoid this situation cleverly.

The if branch or the while loop cannot be executed. You define unsigned and then use an if to determine whether it is a negative number. Delete it if you need to.

Another warning is that the parameter types are inconsistent, so force type conversion is required.

No matter how you tease it, you'd better change one step and recompile and run it. The principle is that no errors or new bugs can occur during the process of teasing Warnings.

I wish all single men good luck in seducing the warning lady. I will go home and do something embarrassing with my husband.


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:C/C++ in-depth analysisNext article:C/C++ in-depth analysis