-
d,讀取 %s
string& getstring(string& str1,unsigned int num);
在此函式中,您的引數已通過引用傳遞,因此您不需要返回它們。
void getstring(string& str1,unsigned int num);
-
sprintf("%d%s%f",a,b,c);
你不能在分號前新增一些東西,你想用這種格式做什麼?
新增 num 後是 str 嗎?
sprintf("%s%d",str, num);
-
樓上的答案是正確的,當 reschar 第一次定義時,第乙個元素被賦值為 0,這意味著字元陣列是空的,strlen(rechar) 的結果應該是 0,所以第乙個引數的意思是將你轉換後的字元儲存在 reschar 陣列中,儲存的起始位址是 reschar+strlen(reschar), 這是 reschar 的第乙個位址。
-
sprintf 的第乙個引數應該是位址。
reschar+strlen(reschar) 等價於輸出到字串的前幾個位置,相當於:
位址 &reschar[strlen(reschar)], reschar 是 char reschar[50]; 。
strlen(reschar)] 是迴圈時當前寫入的字串的長度,字串長度一次增長乙個,寫入位置一次向右推乙個。
-
char printformat[10];
sprintf(printformat, "\%%ds", strlen(longststring));// printformat = "%9s"如果最長字串的長度為 9
printf(printformat, string);
這樣寫不是很好嗎?
-
我不能說有什麼問題,但你可以衝刺兩次,然後 sendstr 兩次,它就會得到解決,記住你的 sendstr 函式最好新增乙個檢測 0 結束字元跳出來。
-
他現在正在修理它,所以他以後會進去。
-
我用C編譯器試了一下,資料是正確的,我猜不是sprintf的問題,可能是微控制器有什麼位址問題?
-
不同版本的 C 程式對 %s 有不同的策略來彌補 0! 有人支援,也有人不支援!
編寫自己的函式來做到這一點。
-
你的 char newbuf[21] 不是嗎? 21 小改為 30 嘗試。
-
奇怪的是,windxp+vs2008說沒有問題。
-
sprintf 返回乙個長度。
函式原型: int sprintf( char *buffer, const char *format [,argument] ....
返回值:字串長度 (strlen)。
s 是指向整數陣列的指標,該陣列應該是指向字串的指標。
如果是這樣,那是對的。
char ss[100];
int s =0;
s += sprintf(ss,"hello");
那麼最後乙個 s 是 6;
-
它會報告乙個錯誤,sprintf 至少有三個引數。
sprintf(s,“%s”,"hello");這幾乎是一樣的。
-
我想到了。
自動更改顏色。
#include
#include
#include
#include
void main()
union utype
temp;printf("%d",;
while(1)
system("pause");}
-
s 是乙個字串,而 sprintf 是字串的虛擬列印。 需要宣告 S,例如 unsigned char s[5];
e=(d(d(d-a)(d-b)(d-c)) 表示式有問題,不知道要實現什麼,c'^'成為異或意味著什麼,你確定要實現這個嗎? 它只能對整數進行操作。
1.C語言中分號的作用是語句的結束,它包含兩個含義,一是表示帶分號的句子是語句,二是表示句子結束到分號為止。 分號不會更改程式的流程。 >>>More
就是這麼簡單。 int max(int x,int,y) * 定義 max 函式,函式的值為整數,形式引數 x,y 為整數 * >>>More