写一个c语言函数 把整形数17687158671存入字符数组中
时间: 2023-03-14 08:06:58 浏览: 121
可以使用以下函数:void int_to_char(char *arr, int n)
{
int i = 0;
while (n != 0)
{
arr[i] = (n % 10) + '0';
n = n / 10;
i++;
}
arr[i] = '\0';
// 将数组中的字符反转
reverse(arr);
} 该函数可以将整形数17687158671存入字符数组中。
相关问题
C语言怎么把数字存入字符串数组
可以使用sprintf函数将数字转换为字符串并存入字符串数组中。
示例代码:
```c
#include <stdio.h>
int main() {
int num = 123;
char str[10];
sprintf(str, "%d", num);
printf("num = %d\n", num);
printf("str = %s\n", str);
return 0;
}
```
输出结果:
```
num = 123
str = 123
```
在上面的代码中,sprintf函数将整数变量num转换为字符串并存储到字符数组str中。格式化字符串"%d"表示将整数转换为十进制整数字符串。在使用sprintf函数时,需要注意要给字符数组留出足够的空间,以免发生缓冲区溢出。
c语言中,把汉字存入字符数组,然后用指针打印汉字,是否可行
在 C 语言中,汉字通常采用 Unicode 编码,需要用两个字节来存储一个汉字。因此,如果要把汉字存入字符数组,需要使用宽字符数组 wchar_t。在 Windows 平台上,宽字符的编码方式是 UTF-16,一个字符占用两个字节。在 Linux 平台上,宽字符的编码方式是 UTF-32,一个字符占用四个字节。
下面是一个例子,演示了如何用指针打印汉字:
```c
#include <stdio.h>
#include <wchar.h>
int main()
{
wchar_t str[] = L"你好,世界!";
wchar_t *p = str;
while (*p != L'\0')
{
wprintf(L"%lc", *p);
p++;
}
return 0;
}
```
这个程序定义了一个宽字符数组 str,存储了一个包含汉字的字符串。然后定义了一个指向宽字符的指针 p,将其指向字符串的首地址。接下来使用 while 循环遍历字符串,依次打印每个字符,直到遇到字符串的结束标志 L'\0'。注意,使用 wprintf 函数来打印宽字符,其格式化字符串为 %lc。
阅读全文