1樓:文耕實驗室
char fun(char c)
int main()
putchar('\n');//輸出換行符return 0;//這一句是主函式必要的,告訴程式正常退出。
} 這個程式的意思就是,讓使用者輸入4個字元,如果是大寫字元,都轉換成小寫字元輸出。
執行結果如下:
輸入:open
返回:open
為什麼是這樣?當你一次性輸入四個字元,會存放在乙個堆疊裡邊,scanf中輸入引數是 %c,那麼它會拿走第乙個字元o,剩下的仍然存在堆疊裡邊。程式繼續執行把o轉換之後 輸出(o本身就是 小寫,所以轉換前後結果一樣)。
然後又迴圈回scanf函式**,提取堆疊中第二個字元,p,如此往復四次,輸出open
2樓:匿名使用者
char fun(char c)
這一部分是個子函式,輸入引數是乙個字元c,返回值也是乙個字元。
main()
putchar('\n');
}這是乙個主函式,本意是分四次輸入四個字元,如果是大寫字母就變成小寫,如果輸入的是小寫的,則不變。不過這個程式有問題。只能進行一次變換,至於輸出是什麼,要看你輸入的是什麼。
3樓:匿名使用者
char fun(char c) main() putchar('\n');//輸出回車} 當輸入open回車後 結果是open
4樓:匿名使用者
個人見解 僅供參考
返回 n
c語言程式問題,求詳細解釋,謝謝!
5樓:鴻子
因為prt函式的引數是復&c(c的地制址), &c就是prt函式bai的區域性du變數,它的zhi值在prt函式裡改變,main函式中不會改變。daoc的值是20是因為++的特性,語句結束之後再加1.
把*(z++),換成z++,直接檢視z的位址變化,就很容易理解了。把**發給你,你自己實驗下。
6樓:自由的風的我
函式內執行完z++後,是z的位址變了,而不是z指向的值即c的值變了,當返回到主函式後,z對應的一段儲存空間就被系統收回了,再一次呼叫函式後,是乙個新的指標z指向了c,從而z的值不改變
7樓:匿名使用者
#include
void prt(int *x ,int *y, int *z)main()
這樣就變了,bai原因是:du
你用的傳址,++*x 將該位址實際資料改變zhi了 *x=*x+1,而dao *(z++) 只是改變位址增加,回數值並不變,你
答兩次呼叫都是c的位址,一樣
8樓:我行我素的兔子
prt函式沒有返回值,而主程式中a、b、c的值是不變的,呼叫prt函式多少遍結果都是一樣的。
9樓:時空魔法
x y z是區域性指標 修改這三個值儲存的位址 不會影響 abc的儲存的位址
c語言問題,可以的話最好把整個程式解釋一下。謝謝!
10樓:
void main()
{float a[10],min; //定義a是乙個存放10個浮點數的陣列,
int i=0; //題目中有誤,將用於存放陣列下標的變數應該是整數,下面馬上用到a[i],所以在此應該先給i初值0
float min;
scanf("%f",&a[i]); //從鍵盤輸入乙個實數給 a[0];
min=a[0]; //a[0]在上一句才獲得,所以min的值應該在這賦
for(i=1;i<10;i++)
這一句在程式序中漏了,從鍵盤輸入a[1]到a[9]的值;
if ............
//後面的內容就沒什麼問題和需要解釋的了
11樓:
你這個程式有問題。
第二行scanf("%f",&a[i])中的i沒有賦值,這句話肯定會報錯.
第二句肯定是
for(i = 0; i < 10; i++) //就是給陣列a中的每個元素賦值
程式的意思就是找出陣列a中最小的數,賦值給min首先將a[0]賦值給min,然後將min跟a[1]~a[9]進行比較,將小的數賦值給min,所以最終min就是輸入資料中最小的數
12樓:萢萢
整個程式就是求10個數中的最小值。但是這個程式不算正確的,輸入部分應該需要乙個迴圈。如果是.c檔案的話,float min需要放到scanf前面。
13樓:子玉
首先這個輸入語句不完整,應該是for(i=0;i<10;i++)scanf("%f",&a[i]); 接下來的語句是先令min等於a[0],再把a[1]到a[9]與min即與a[0]比較,如果min比較大,就把min替換成a[i]
不知道解決了麼
求解釋c語言這道題,看不懂程式,解釋一下過程!!謝謝
14樓:折翼鯉魚
你好你這個應該只有兩行輸出啊,
第一行 是 -1 6
第二行是 6
c語言問題,求大神指教,求解釋本程式,最好詳細點,謝謝啦,我是小白,初學者。。
15樓:匿名使用者
main()//程式入口
printf("各位數之和s=%d\n",s);
printf("其反序數=%d\n",a);
}整個程式就是為了得到輸入的數的逆序排列數以及所有數字之和
16樓:章鑫彬
#include
main()
printf("各位數之和s=%d\n",s);
printf("其反序數=%d\n",a);}如:
輸入:123
輸出各位數之和s=1+2+3=6
輸出反序數a=321
17樓:匿名使用者
//我想關鍵就是這個位置吧
while(n)
以n=1032為例:
m=n%10-->2-->m=2 //最後一位數字n=n/10-->n=103 //這裡是整除(也可以理解為去掉最後一位數字)
s+ =m-->s=s+m(0+2)-->s=2;//統計各位數字之和(個位-->十位-->百位......)
判斷n是否為0,n=103!=0
接著執行迴圈;
m=3n=10
s=2+3=5
依次類推,當n=1時,m=1,n=0,s=2+3+0+1=6 此時n=0迴圈結束
//逆序
while(n)
//三次 a=23*10=230,m=0,a=230//四次 a=2300 ,m=1,a=2301//也可以這樣不用a ,當然這樣沒儲存逆序數while(n)
你可以自己除錯,看每個變數的變化情況.(不會的話學習一下,很簡單)
求這道c語言題的答案,要詳細過程,謝謝了
18樓:匿名使用者
#include
int main()
printf("%lf\n",s);}
19樓:gta小雞
#include
float func(int n)
int main()
20樓:匿名使用者
#include
double func(int n)
int main()
沒有嘗試編譯執行,應該沒問題,如果有錯誤的話請追問。
c語言問題。急求詳細解答,C語言問題。急求詳細解答!!
與影 第一個呼叫把i 2的值傳遞給fun2的形參,而形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數,所以呼叫結束後i的值並未改變。雖然fun2的返回值是處理後的i,但是由於並未將函式呼叫...
c語言問題,小白求詳細解答,C語言問題 小白求解答
結果是a how are you 第一次開啟檔案,以 w 方式建立乙個新檔案,寫入how 第二次開啟檔案,以 a 方式追加資訊到檔案,寫入are you c語言問題 小白求解答 問 r,s,t 三個集的關係。t 由 r,s 得出。答,r,s,2 個集 之差 得 t.理由 把 r 裡與 s 相同 的 ...
C語言程式遞迴問題跪求詳細解答
拿乙個等差數列來給你解釋,例如 1 2 3 4 5 100 如果我要計算前5項的和,那麼s5 a1 a2 a3 a4 a5 s5 5 s4 s4 4 s3 s3 3 s2 s2 2 s1 s1 a1 1 根據規律前n項和為 sn n s n 1 且s1 1,根據這兩個條件 我就可以求出任意sn的值,...