1樓:文正
p本身就是陣列名了,你加了一個*就是說這個字串的第一個字元的ascii碼,而電腦裡一定有一個地址和這個ascii碼一樣,但它不一定是你這個程式的空間.所以,把printf("%s\n", p);這才是對的
意思就是.你如果a的首個字元是'a',a的ascii是65,是個電腦一定會有第66個位元組,但這第66個位元組不一定是你這個程式可讀可寫的空間.哦,才發現,你的a和b寫反了........
#include
#include
#include
int main()
printf("%s\n",p);//*號去了return 0;}
2樓:_一蓑煙雨晴
你雖然定義了指標b,卻沒有為它即將指向的東西分配儲存空間,所以,不能直接p=strcpy(a,b);
3樓:
首先,不知道你要幹嘛?**是實現什麼的請描述一下。
如果你是想知道為什麼報錯,我可以告訴你,你定義的b沒有分配記憶體空間,而且strcpy函式的用法是strcpy(目標, **),你將一個沒有分配記憶體空間、沒有初始化記憶體內容的的字串指標b作為**,那麼程式可能訪問記憶體越界,導致軟體報錯。
4樓:叛逆百分
char *p,*b;
p=strcpy(a,b);
b 沒有有效記憶體空間
c語言問題acm比賽題目
5樓:嘻哈搗蛋豬豬
請把輸出樣例顯示出來,如果跳躍能力為1是指能從1號跳到2號還是從1號跳到3號,
#include
bool islei(int k)
return false;
}int main()
}printf("%d",sum);
return 0;}
c語言noi比賽題。
6樓:時間會飛的狗
你的程式不符合題目要求,這個先不說。沒反應是什麼情況??
7樓:
難得很啊。。。。。就二級證,初中生也隨便拿。。。。。。
C語言問題,C語言問題C語言問題
選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...
C語言問題,C語言問題
符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...
c語言問題,C語言問題?
char c 好好看書去 小 超 字元型變數 1 字元變數的定義 字元變數只能存放一個字元常量。字元變數的定義形式如下 char c1,c2 2 字元資料在記憶體中的儲存形式及其使用方法 字元型資料在記憶體中以相應的ascii 存放。字元在記憶體佔一個位元組,表示數的範圍從0 127。把字元對應的a...