1樓:veket的小號
知識點:
static 型別變數的特點
遞迴函式
main 調
printletter
進入 printletter c是57 >48 輸出 c(ascii碼為57的字元是9) c--變為 56
再去調printletter
進入printletter c 是 56>48 輸出 c(ascii碼為56的字元是8) c--變為 55
再去調printletter
...............
進入printletter c 是 48==48 輸出 c(ascii碼為48的字元是0) c--變為 47
再去調printletter
進入printletter c 是 47<48返回 printletter (static為 48 的那個)再返回 .........
一直返回到 (static為 57 的那個)返回main
2樓:鄒靖
1.進入main函式,呼叫函式printletter();,c初值是57,滿足條件c≥48,輸出ascii碼值等於c的字元,c自減;
2.c的值為56,還是滿足條件,繼續輸出,自減;
...n.一直到c的值為47的時候,退出函式printletter();,同時,程式結束。
其實就是一個迴圈,用遞迴的方式實現,估計是lz對遞迴和關鍵字static不太理解。
3樓:匿名使用者
c 為靜態變數,函式結束也不會催毀,初始化為57 ,對應為數字9,然後自身呼叫, c-1=56 ,對應為數字8... 再呼叫時,c=48了,對應數字0,... 再呼叫自身時,條件為假,結速執行.
4樓:wo是隻小菜鳥
首先你得明白數字與字元的關係,他們之間是一個「48「的差值。 c定義為int 但是輸出的時候是以字元的形式輸出。 所以 在這個函式自呼叫中,整數 57本身代表的字元是57-48=9,所以在自呼叫10次的過程中,c不斷的減小,意味著在9的基礎上依次減小。
這裡面主要是一個自呼叫關係和數字與字元之間的關係。
5樓:匿名使用者
這是個遞迴函式,只要c >= 48,就繼續遞迴下去,並把該ascii碼的字元列印出來
void printletter()}
6樓:匿名使用者
你的問題是什麼?這個程式的功能的讓變數c每次遞迴呼叫
printletter()都減一。直到c<48。
7樓:匿名使用者
遞迴函式,列印出ascii數值為57到48對應的字元
8樓:匿名使用者
定義在函式內部是區域性變數,生存期是整個程式執行到結束(對於static),而作用域只是函式被呼叫的這個過程。也就是說不能在函式外呼叫它。
函式內部遞迴呼叫 連續輸出從ascii碼值為57到48的字元
一道c語言的題目請各位幫幫忙了,謝謝!! 20
9樓:匿名使用者
int main()
s[i] = 0;
getchar();
j = 0;
k = 0;
for(i = 0;i <= n;i++)else if(s[i - 1] <= 'z' && s[i - 1] >= 'a' && (s[i] <= 'z' && s[i] >= 'a' || i == n))
} for(i = 0;i < j;i++)printf("%d\n",max);
} return 0;}
有一道c語言的題,大家來幫忙看看,謝謝!!!
10樓:匿名使用者
使用c語言遍
歷某一目錄下所有的檔案
struct ffblk file;
int flag;
while(flag==0)
哪位大神幫我講解一下這道c語言練習解題思路呀!小弟萬分感謝π_π,用for或者while語句 10
11樓:
供參考……
//#include "stdafx.h"//if the vc++6.0, with this line.
#include "stdio.h"
int main(void){
int n,i,k;
printf("input n(0
12樓:匿名使用者
就輸入 一個數,for的話,就定一個變數,執行一次迴圈加一次,迴圈條件小於25,這個變數初始值為0,再定義個變數,初始值為1,執行一次迴圈,輸出一次,再加1,if判斷,如果大於9,就讓它變為1
c語言選擇題,求大神幫忙**解答一下,寫出解題過程和解題思路,謝謝了,**等。
13樓:
1 解釋如下 問題關鍵 變數的作用域
2 結束在註釋行
#include
int main()
這個大括號內
a *= 4; // a = a*4 = 40
printf("%d %d\n",a,b);// 40 35}printf("%d %d\n", a, b); // a發生改變 40 b未變 20
getchar();
return 0;}
一道c語言題,跪求大神解答,我需要的是思路,謝謝! 10
14樓:匿名使用者
#define n 6
int find(int a);
int arrange(int a,int i);
int main()
;position=find(a);
if(position==-1)
retuen -1;
value=a[position+1];
for(i=position;iif(a[i]>a[position]&&a[i]=0;i--)
return 0;}
一道c語言程式設計題請高手幫忙,一道C語言程式設計題,請高手幫忙!
很簡單啊。仔細看這點for for i 3 i 1 i sum 0 不論第一個for迴圈執行多少次,sum都被重新賦值為0,當i 1做最後一次迴圈時,在進入第二個for迴圈之前sum 0進入第二個for迴圈後,for j 1 j i j 等價於 for j 1 j 1 j 所以只執行一次迴圈,所以此...
一道C語言習題!?大家幫幫忙一道c語言的題目請各位幫幫忙,急得很,先謝謝大家了!!!
an x x bai2 x du3 x 4 1 n 1 x n an 1 x x 2 x 3 x 4 1 n 1 x n 1 n x n 1 x 1 an 所以第一個空zhi是 x 第二dao 個是 1 px x,n 1 求 baix x 2 x 3 x 4 1 n 1 x n x提出後du 就是 ...
C語言中的一道例題,誰能幫忙詳細解釋一下每一步的含義
輸出為 bcdefgha 解釋 char ss char s 函式ss 返回一個指向字串的指標 專函式引數 s 是一個指向字串的指標 這樣,在 屬main 中呼叫 ss str 後,s指向了str的首元素,也就是 abcdefgh 中的 a char p,t 定義一個char 指標 p 和一個cha...