1樓:小魚
(1)是對的。
"abcd"是一個字串常量,這個常量的首字元地址空間賦給了指標變數s,這種操作是允許的。
因為s定義成char *,實際上就是字元型指標了。沒有必要再加,如果是
char s = "absd"則又是一種定義方法。
(2)不行。
因為char *s只是宣告瞭一個字串指標s,你並沒有讓s指向一塊可使用的空間。
直接就讀取s並試圖寫到目前s指向的一個未知空間裡當然不行啦~
至於說scanf裡s變成&s根本不是這麼回事,s本身就已經是指標了,不需要再用&s去取值。
記憶體分配才是關鍵問題。
你可以char str[100]; 然後s = str,或者s = (char *) malloc(100),靜態或者動態的給s分配一塊空間。
那麼你就能往s指向的這塊空間裡寫東西了,當然,寫入的東西的長度也不能越界,即大於你分配的空間的大小。
(3)執行。
(4)你可以參考一下
2樓:其實我嘿乖
1. 字串型別的指標,指向對應的字串的首地址;
2.char *s;scanf("%s",&s)3. 會加;
4.--
5. 所謂的順序,儲存邏輯上的有序和資料物理磁碟上的順序;
學好程式設計的一個很好的思路就是:站在計算機的角度考慮問題;而不要站在人的角度。你把計算機理解得越弱智,你就走得更遠!
3樓:
其實我嘿乖 說的真不錯!太受用了!
請指教c語言的幾個問題。
一些簡單的c語言題目第3彈,請高手指教!
有一道 c語言題目!請高手指教!
4樓:匿名使用者
原因在for (i=0;f(s);i++)函式int f(int a) 要求引數是int型別你傳進去的是一個陣列地址。
不確定你想讓程式實現什麼功能,所以不知道要修改成什麼樣如果你確定沒抄錯的話,題目就是錯了
5樓:匿名使用者
/* 函式的目的是求所有奇數的和*/
#include "stdio.h"
int f(int a)
main()
,i,d=0;
for (i=0;f(s[i]);i++)d+=s[i];
printf("%d\n",d);
} _________________________________________
上面是修改後的程式 執行結果為 9
c語言數串的問題 請指教!!
6樓:it芯
#include
#include
char *stringcmp(char *str1, char *str2, char *str3)
else
if(strcmp(p, str3) >= 0)return p;
}int main()
ps:linux下除錯通過
7樓:匿名使用者
你比較的是字串,但是你的引數傳的卻是三個字元,要就改成指標!!而且第三個字元變數怎麼是個數字呢?
8樓:匿名使用者
你呼叫的方法最少要有3個引數!
最好把**貼出來看看.
9樓:匿名使用者
你的引數不對啊,大哥……
10樓:匿名使用者
最小的是指什麼?長度還是字母?
11樓:阿四哥
c語言字串的學習,輸入指定字串,並且計算字串的位數
請教幾個c語言上的問題。請高手指教
12樓:匿名使用者
for(i=0;i {for(j=i+1;j<=i+5;j++)是個二重迴圈啊 i j<=i+5也是迴圈裡的判斷啊 ........... 國家二級考試確實有難度哦........ 13樓: 題目中已經給出了max是200了啊,所以i<195啊 後面的類似 懸賞分 0 離問題結束還有 13 天 13 小時 include stdio.h include conio.h char pp 2 3 這條語句定義了一個pp 2 3 的陣列,陣列裡面存的是字元指標,說明陣列裡面的指標,是指向一個字串的第一個地址。pp指向的是一個二維 2 3 的陣列,pp則指向一... include define n 10 int check int a,int area,int t int plus num 0 int result 0 int i 0 for i 遞迴對t進行全排列尋找可行解,不知道對不對,我不是大神。include define max 10 int m,n... include stdio.h int main if a c if b c printf c c c n a,b,c return 0 如何學c語言啊,我一遇到程式設計題就不會了,怎麼辦,求指教 勤能補拙。真想學的話,把你不會寫的題目記下來,仔細看看別人怎麼寫的 爭取理解吃透,然後不看別人的自己寫...C語言指標問題,請會C的進來指教
c語言求大神指教,C語言程式設計,求大神指教?
c語言程式設計問題求指教,C語言程式設計問題,求指教