❶ 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碼意義是「回車」。