A. c語言中這串代碼是什麼意思,到底用來干什麼 #define a 0x00001
知道「32位」」64位「的「位」是什麼的話應該不難理解「位標記」的字面意思吧……那麼假如有一個int型數,其每一位都有其特殊含義(例如第二位代表是否支持intel處理器,第一位代表是否支持AMD處理器。1代表是,0代表否<-這只是隨便舉的一個例子),那麼32位下一個int型數就可以傳遞32個信息,通過」按位與「」按位或「運算,可以給其加上或移去特定的信息。#define SUPPORT_INTEL 0x00002(<-其實這就表示只有第二位是1的整數)以及#define SUPPORT_AMD 0x00001就是對用作某種用途的整型數的一位進行取名,使其更易理解,當SUPPORT_AMD | SUPPORT_INTEL作為參數傳遞的時候,函數通過對參數進行計算可得到其確切含義(既支持intel處理器,也支持AMD處理器),又不需用到高級的數據結構,從而保證了對大多數編程語言的支持……
B. C語言這串代碼的作用是什麼 具體一點
MergeSort那就是歸並排序了,建議你先查一下它的原理然後再來看代碼。
C. 關於C語言字元串連接的代碼問題~急~在線等
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char a[100],b[30];//大小可以自己定
void chstract(char a[],char b[]);
printf("enter string a:\n");
gets(a);
printf("enter string b:\n");
gets(b);
chstract(a,b);
printf("now the new string is:\n");
printf("%s",a);
getch();
}
void chstract(char a[],char b[])
{
int i=0,j=0;
while(1)
{
if(a[i]=='\0')
break;
i++;//最終i指向a數組中最後一個字元
}
for(j=0;b[j-1]!='\0';i++,j++)//將b數組中包括'\0'依次連接在a後面
a[i]=b[j];
}
D. 請問以下c語言字元串拼接代碼出了什麼問題呢
之前的方法a的空間只有4,沒有地方保存b了, 一種方法如下
char a[10]="abc";
char b[10]="def";
E. C語言這串代碼的作用是什麼
第一個函數的功能是把二個都是升序排列的數組a1(n1個元素)及a2(n2個元素),合並到數組Data中。
第二個函數的功能是,通過遞歸、及調用第一個函數,將數組a(有n個元素)進行升序的歸並排序。
F. C語言編程字元串連接問題
...........樓上的很有才
我寫了兩個,自己看吧
#include<stdio.h>
#include<string.h>
char *StrCatenate1(char *str1,char *str2)
{
int len=0;
char *s1,*s2,*resultStr;
s1=str1;s2=str2;
while(*str1++) len++; /*得到str1的長度,未使用庫函數strlen()*/
while(*str2++) len++; /*得到str2的長度*/
str1=(char *)malloc(len*sizeof(char)); /*為新的字元串分配空間*/
resultStr=str1;
while(*s1) *str1++=*s1++;
while(*s2) *str1++=*s2++;
*str1='\0';
return resultStr;
}
char *StrCatenate2(char *str1,char *str2)
{
int len;
char *resultStr,*backup;
backup=str1;
len=strlen(str1)+strlen(str2); /*調用strlen()求長度,需要string.h頭文件*/
str1=(char *)malloc(len*sizeof(char)); /*為新的字元串分配空間*/
resultStr=str1;
while(*backup) *str1++=*backup++;
while(*str2) *str1++=*str2++;
*str1='\0';
return resultStr;
}
main()
{
char *s1="hello ";
char *s2="world!";
printf("%s\n",StrCatenate1(s1,s2));
printf("%s",StrCatenate2(s1,s2));
}
G. 這個C語言字元串連接程序每一句是什麼意思啊 不懂啊
因為s2的數組為100長度,
如果想要把s2的數據連接到s2的後面,
數組長度必須大於s2數組的長度。
比如,s1數組原來是100,s2的數組是100,
如果想要,s1與s2連接,那麼s1必須要200才行。
說人話就是:兩個數組相加的長度。
H. C語言編程,將兩個字元串連接起來。把下面的案例解釋一遍,看不懂==
你上面那個循環是讀到str1的結尾,就是'\0',下面那個for循環是把str2的字元加到str1的結尾。
I. C語言字元串連接函數的源代碼,看不懂,求注釋。
char *strcat(char *target,const char *source)
{
char *original=target; //讓original指向target的首元素
while(*target) target++; // 讓target走到'\0'的位置(字元串遇到'\0'結束)
while(*target++=*source++); //從'\0'開始將source中的元素依次賦值給target
return(original); //返回首元素的地址。
}
望採納
J. 數據結構C語言串聯接代碼怎麼解釋
很簡單,數組的0元素里保存是串的長度。兩個點前後的數值表示的是下標范圍。先復制S1,再復制S2。能夠把最簡單的一個演算法寫成這么復雜的一個樣子的,不愧是專家。其實這些東西都不難,但要想看懂專家寫的書,一定要提高甲骨文的閱讀能力。建議你找些國外的書參照一下