当终止一个string时,在我看来,由于“null”(ASCII 0)字节为0 ,所以在逻辑上, char c=0等同于char c='\0' ,但通常人们倾向于做'\0' 。 这纯粹是出于偏好还是应该是一个更好的“实践”? 什么是首选? 编辑: K&R 说 :“字符常量'\0'表示字符值为零,空字符'\0'通常被写入而不是0来强调某些expression式的字符性质,但数字值只是0 。
对于大多数语言来说,命名空间似乎是毫不费力的。 但据我所知,ANSI C不支持它。 为什么不? 是否有计划将其纳入未来的标准?
我已经开始对codechef进行编程练习, 并被 C和C99之间的差异弄糊涂了。 C是什么意思? 是C89吗? 检查提交底部的语言。 它包含C和C99。 我在网上find一些叫做GNU C的东西。对于linux / unix系统有没有不同的C语言? 这些标准是否符合ANSI的C标准? 我也在一些地方读过“C99严格”。 这是什么? 还有其他的C标准吗? 有没有什么叫做C 4.3.2,还是现在使用的gcc版本? 编辑: 这 , 这个 ,帮助。 我会search更多,并编辑没有答案的东西。 我不是一个编程新手。 我知道C语言是什么。 我知道ANSI有不同的C标准,如C89,C99和C11。
只是想知道是否有任何区别: char* var; char *var; 还是只是一个偏好(间距)的问题?
我使用Ubuntu,我也使用Geany和CodeBlock作为我的IDE。 我想要做的是读一个string(如"Barack Obama" ),并把它放在一个variables: #include <stdio.h> int main(void) { char name[100]; printf("Enter your name: "); scanf("%s", name); printf("Your Name is: %s", name); return 0; } 输出: Enter your name: Barack Obama Your Name is: Barack 我怎样才能让程序读取全名?
如何使printf显示variables的枚举types的值? 例如: typedef enum {Linux, Apple, Windows} OS_type; OS_type myOS = Linux; 而我需要的是类似的东西 printenum(OS_type, "My OS is %s", myOS); 其中必须显示一个string“Linux”,而不是一个整数。 我想,首先我必须创build一个价值索引的string数组。 但是我不知道这是否是最美丽的方式。 有没有可能?