我是 C 的绝对初学者,我有一些其他高级语言(如 Ruby 和 Python)的经验,但除此之外,我还是一般编程的初学者。我一直在试图弄清楚如何定义一个字符串变量并使用类似“printf”函数的东西打印它,但到目前为止我没有运气,因为我的代码一直在吐出错误消息。
据我了解,像这样的东西应该定义一个字符串变量,然后将它打印到控制台:
char string[3];
string = "hi";
printf ("%s", string);
但这行不通,那么正确的做法是什么?
最佳答案
这是行不通的,因为你不能在 C 中给数组赋值,除非在初始化它们的时候。
所以,你可以这样做:
char string[3] = "hi";
哪个更好(更安全)写成:
char string[] = "hi";
这让编译器担心字符数,通常更可取。
要在初始化后改变数组内容,你必须使用一些可以复制字符的函数,你不能用一个单一的赋值来做到这一点:
strcpy(string, "yo");
请注意,这是危险的,因为 strcpy()
不会意识到数组的 3 个字符限制。
关于c - 在 C 中定义和打印字符串变量的正确格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20925628/