的問題是不明確的。
如果你想有一個char *
爲通用指針:
#include <stdio.h>
int main(void)
{
int x = 5;
char *p = (char *)&x;
printf("%d\n", *(int *)p);
return 0;
}
如果你想char *
爲一個字符串:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x = 5;
char *p = malloc(32);
sprintf(p, "%d", x);
printf("%s\n", p);
free(p);
return 0;
}
編輯:
我現在用的是卵石(smartwatch sdk)和sprintf()函數是 不支持
使用取模除得到每一個數字,然後反轉字符串:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char *p = malloc(32);
int i = 0, x = 5374;
int temp, len;
temp = abs(x); /* support for negatives */
if (x < 0) p[i++] = '-'; /* support for negatives */
do {
p[i++] = '0' + temp % 10;
temp /= 10;
} while (temp);
p[i] = '\0';
if (x < 0) p++; /* support for negatives */
len = strlen(p) - 1;
for(i = 0; i < len/2; i++) {
temp = p[len];
p[len] = p[i];
p[i] = temp;
len--;
}
if (x < 0) p--; /* support for negatives */
printf("%s\n", p);
free(p);
return 0;
}
請問您可以發表一個示例(即使它錯了,您該如何做?)? – bitcell 2014-11-21 10:34:05
請顯示您最後一次失敗的嘗試。 – dasblinkenlight 2014-11-21 10:35:54
@Gopi'char * example'肯定不是一個字符串文字。 – unwind 2014-11-21 11:50:18