❶ c语言中'\0xa'为什么是非法常量
c语言规定十六进制转义符写法为'\xhh'比如'\xa'或'\x0a'
而转义符后直接跟数字的是八进制数,'\0xa'所以错了
❷ 想请教下关于C语言中的字符常量问题
'\'是转义字符,意思就是'\'后的字面不是原来的意思,最常见的就是'\n'表示换行,明白了这个,下面就好讲解了
\x表示的是十六进制,例如\xa表示的是10,\xf,表示的是15,\xff表示的是255(15*16+15)
\o表示的是八进制,所以\028表示2*8+8=24
所以c是对的
至于B为什么不合法,因为么有\f这个转义词,转义词没有几个,照书上记住既可以了,那样你碰到这类问题就迎刃而解了
呵呵
❸ 如何用C语言计算两点之间距离
用C语言计算两点之间距离的参考代码:
#include <stdio.h>
#include <stdlib.h>
#include "math.h"
typedef struct point {
double x;
double y;
}point;
point array[30001];
double distance(point a,point b);
int main(int argc, char *argv[])
{
while(1){
int n,i,j,count;
double maxdis,temp;
scanf("%d",&n);
for(i = 0;i<n;i++){
scanf("%f %f",&array[i].x,&array[i].y);
}
for(i = 0;i<n;i++){
//printf("%d %d ",array[i].x,array[i].y);
//printf("dis:%.2f ",distance(array[0],array[i]));
}
maxdis = 0.0;
for(i = 0;i<n;i++){
for(j = i;j<n;j++){
if(distance((array[i]),(array[j])) > maxdis ){
//printf("maxdis = :%.2f ",distance((array[i]),(array[j])));
maxdis =distance((array[i]),(array[j]));
}
}
}
printf("%.2f",maxdis);
}
system("pause");
return 0;
}
//计算x y之间距离
double distance(point a,point b){
return sqrt( (a.x - b.x)*(a.x - b.x) + (a.y -b.y)*(a.y -b.y) );
}
(3)xac语言扩展阅读:
C语言编写注意事项:
1、所有自定义变量必须声明才能使用。
2、每行只书写一条语句, 在运算符两边加上一个空格, 便于阅读。
3、整数除法将自动舍位, 不会进行四舍五入的操作。
4、for(初始化部分;条件部分;增长部分) - 比while 更适用于初始化和增长步长都是单条语句情况下。
5、使用#define 名字 替换文本 对部分"幻数" 赋予意义便于阅读 #define结尾不需要“;”号结束。
❹ c语言中\xa是一个什么字符
它就是'\n'。因为C中的\x是转义字符前导符,表示后面是一个16进制数表示的ASCII码,a是16进制表示的十进制10,ASCII码意义是“回车”。