本文目錄一覽:
- 1、請教一個c語言程序,請問這個程序是幹什麼的,並解釋一下mystery是怎麼運行的? 剛那個程序給錯了。不好意
- 2、請教一個c語言程序,請問這個程序是幹什麼的,並解釋一下mystery是怎麼運行的?
- 3、C語言 求解釋 過程
- 4、C語言,一個兩個字元串相連接的函數,可以解釋一下,為什麼??謝謝
- 5、一個C語言的初級問題?
請教一個c語言程序,請問這個程序是幹什麼的,並解釋一下mystery是怎麼運行的? 剛那個程序給錯了。不好意
這個程序相當於庫函數中的strcat函數 作用是把第二個字元串接在第一個字元串的後面。
mystery中第一個循環while是將指針指向字元串1的結束符『\0』 , for是將字元串2的內容逐個字元的拷貝到串1中 這樣就實現了strcat函數的功能 將串2接在串1的後面成為一個新的完整的字元串。
請教一個c語言程序,請問這個程序是幹什麼的,並解釋一下mystery是怎麼運行的?
c語言程序通訊錄管理程序,目 標:編寫程序,建立一個通訊錄,存放有姓名、電話號碼、住址等,具備輸入、查找、添加、修改及刪除等功能。
要 求:具備菜單功能或詳細的提示功能,至少具備數據輸入、輸出、查詢、刪除、文件保存、文件讀入中的兩項功能。能力強的同學可以設計表格化輸出。熟練掌握文件或結構體的操作,程序中至少要有一個自定義結構體。總程序量不少於100行,輸出數據要進行適當美化。程序要有詳細的注釋及必要的說明文檔
mystery運行的如下:
public class Mystery {
String s;
void Mystery(){
s = “construct”;
}
void go(){
System.out.println(s);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Mystery a = new Mystery();
a.go();
}
C語言 求解釋 過程
將未使用的變數從代碼中去除,修改之後的代碼為:
#include stdio.h
#include stdlib.h
int mystery( int n ) {
if ( n = 15 ) return 5 ;
return mystery( n * 2) +7 ;
}
int main( int agrc, char *argv[] ) {
int i = 1;
int a;
a = mystery(i) ;
return 0;
}
說明:mystery函數的含義是,如果n大於等於15,就返回5,否則返回mystery(2*n)+7.
由於a=mystery(1);
經過下面的遞歸之後變成
mystery(1) = mystery(2) + 7
= mystery(4) + 7 + 7
= mystery(8) + 7 + 7 + 7
= mystery(16) + 7 + 7 + 7 + 7;
由於16是大於15的,所以mystery(16)返回的值是5.
也就是將mystery(16)=5代入剛才的方程里,得到mystery(1)=33;
綜上所述:a=33.
C語言,一個兩個字元串相連接的函數,可以解釋一下,為什麼??謝謝
#include stdio.h
void mystery1( char *s1, const char *s2 ); //聲明函數
int main( void )
{
char string1[ 80 ]; //聲明兩個字元數組
char string2[ 80 ];
printf( “Enter two strings: ” ); //列印提示信息
scanf( “%s%s”, string1, string2 ); //輸入兩個字元串的內容
mystery1( string1, string2 ); //調用mystery1函數
printf( “%s\n”, string1 ); //輸出字元串string1的內容
return 0;
}
void mystery1( char *s1, const char *s2 ) //定義mystery1函數
{
while ( *s1 != ‘\0’ ) { //逐位檢測字元串中的內容直到字元串尾部為止
s1++;
}
for ( ; *s1 = *s2; s1++, s2++ ) { //把字元串s2中的內容逐個地添加到字元串s1的後面
;
}
}
一個C語言的初級問題?
遞歸調用,
mystery( a, b – 1 )也是調用int mystery( int a, int b )這個函數,
可以這樣理解:
mystery(5,3) = 5 + mystery(5,2) = 5 + 5 + mystery(5,1) = 5 + 5 + 5 = 15;
所以這個函數返回a *b, 前提是b大於等於1,否則會陷入死循環!因反覆遞歸,堆棧會使用完而程序崩潰。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/276920.html