c - 我的代码总是在我的名字旁边显示一个笑脸
问题描述
我做了一个非常简单的程序,它显示字符串名称的值,并在它旁边显示我的名字和笑脸
#include <stdio.h>
#include <stdlib.h>
int main()
{
char name[5] = "Rafik";
printf("%s", name);
}
它显示以下错误
Rafik☺
解决方案
您的name
数组大小不正确。应该是char name[6]
因为 C 字符串文字(在您的情况下"Rafik"
)总是在末尾添加一个额外的字符,即 NULL 字符/终止符'\0'
。
这就是例如如何scanf
知道字符串的结尾在哪里。