Brian Kernighnan在他的"用C编程"一书中说
根据定义,字符只是小整数,因此char变量和常量与算术表达式中的int相同.
这是否意味着我们可以从int中减去char变量?
我写了一小段代码:
#include <stdio.h>
main()
{
int a ;
int c;
a = 1;
c = 1 - '0' ;
printf("%d", c);
}
Run Code Online (Sandbox Code Playgroud)
但它给我输出= -47 ...
那是什么我做错了?我指定的变量是否具有正确的类型?
我正在阅读Brian Kernighnan和Dennis Ritchie的C编程(第25页)
这里作者引述:
power计算的值由return语句返回main.任何表达式都可以跟随return:return表达式;
但在他上面提供的代码中:
#include <stdio.h>
int power(int m , int n);
main()
{
int i;
for (i = 0; i < 10; ++i)
printf ( " %d \t %d \t %d \n ", i, power( 2 , i), power( -3 , i));
return 0;//no. 1
}
int power(int m , int n)
{
int i, p ;
p = 1;
for (i = 1; i <= n; ++i)
p = p * m;
return p; //no. 2 …
Run Code Online (Sandbox Code Playgroud)