在C语言中,相信很多人尝试过进行“%”的输出,常规的
printf("%d\n"); 肯定是行不通的,这里需要注意的是在c语言中对“%”和“\”的输出是可以的,但是输出格式不能直接进行输出,编译器在编译的时候会把"\“理解成单个字符”",同理,也会把"%%"理解成单个字符“%”。
具体演示如下:
代码:
#include<iostream>
#include<stdio.h>
#include<bits/stdc++.h>
using namespace std;
int main()
{printf("%%d\n");printf("\\n\n");cout<<"%d"<<endl;cout<<"\\n"<<endl;
}
自己可以试一下,同样这里你也可以看到使用c++的cout进行字符串输出的时候,单个%是可以识别的,而“\”则不能被直接识别,识别规则与c相同。
如果感兴趣的话,也可以自己深入学习一下底层的编译原理。