我正在寻找使用不同字符串修改char数组的方法,例如使用各种字符串的temp char数组。 假设一个char数组A [10] =“ alice”,如何分配A [10] =“ 12”。不使用字符串函数?
TIA
答案 0 :(得分:2)
在C中,字符串只是char
类型的数组,其中包含可打印字符,后跟一个终止的空字符('\0'
)。
借助这些知识,您可以避开标准函数strcpy
和strcat
并手动分配字符串:
A[0] = '1';
A[1] = '2';
A[2] = '\0';
如果字符串A
中的字符超出索引2
,则它们无关紧要,因为一旦在A[2]
遇到空终止符,字符串处理函数将停止读取字符串。
答案 1 :(得分:2)
就像Govind Parmar的答案一样,但是带有for循环。
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[11] = "hello world";
char new[5] = "2018";
int i = 0;
for (i; new[i] != '\0'; i++)
str[i] = new[i];
str[i] = '\0';
printf("str => '%s' ",str);
return 0;
}
输出:
str => '2018'
答案 2 :(得分:0)
好吧,因为字符串数组不是问题,而是指向数组的指针,您可以像这样简单分配
a