Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
oorrja
GitHub Repository: oorrja/learntosolveit
Path: blob/master/languages/cprogs/Ex_1.2_exp_printf_c.c
1240 views
1
/***
2
*
3
* Experiment to find out what happens when prints's argument string
4
* contains \c, where c is some character not listed above.
5
*
6
***/
7
8
#include<stdio.h>
9
10
int main(void)
11
{
12
printf("a:\a"); /* valid */
13
printf("b:\b"); /* valid */
14
printf("c:\c");
15
printf("d:\d");
16
printf("e:\e"); /* valid */
17
printf("f:\f"); /* valid */
18
printf("g:\g");
19
printf("h:\h");
20
printf("i:\i");
21
printf("j:\j");
22
printf("k:\k");
23
printf("l:\l");
24
printf("m:\m");
25
printf("n:\n"); /* valid */
26
printf("o:\o");
27
printf("p:\p");
28
printf("q:\q");
29
printf("r:\r"); /* valid */
30
printf("s:\s");
31
printf("t:\t"); /* valid */
32
/*
33
* \u below stands for unicode.
34
* warning: universal character names are only valid in C++ and C99
35
* without anything it will give the error incomplete universal character.
36
* we will give 2603 unicode codepoint which stands for snowman
37
*/
38
printf("u:\u2603"); /* valid */
39
printf("v:\v"); /* valid */
40
printf("w:\w");
41
/* \x is for hexadecimals. It should be followed by valid hexadecimal.
42
* Lets give D as hexadecimal value */
43
printf("x:\xD"); /* valid */
44
printf("y:\y");
45
printf("z:\z");
46
printf("A:\A");
47
printf("B:\B");
48
printf("C:\C");
49
printf("D:\D");
50
printf("E:\E"); /* valid */
51
printf("F:\F");
52
printf("G:\G");
53
printf("H:\H");
54
printf("I:\I");
55
printf("J:\J");
56
printf("K:\K");
57
printf("L:\L");
58
printf("M:\M");
59
printf("N:\N");
60
printf("O:\O");
61
printf("P:\P");
62
printf("Q:\Q");
63
printf("R:\R");
64
printf("S:\S");
65
printf("T:\R");
66
67
/*
68
* \U below stands for unicode.
69
* error: incomplete universal character name \U
70
* without anything it will give the error incomplete universal character.
71
* we will give 2603 unicode codepoint which stands for snowman
72
*/
73
74
printf("U:\U00002603");
75
printf("V:\V");
76
printf("W:\W");
77
printf("X:\X");
78
printf("Y:\Y");
79
printf("Z:\Z");
80
printf("0:\0");
81
printf("1:\1"); /* valid */
82
printf("2:\2"); /* valid */
83
printf("3:\3"); /* valid */
84
printf("4:\4"); /* valid */
85
printf("5:\5"); /* valid */
86
printf("6:\6"); /* valid */
87
printf("7:\7"); /* valid */
88
printf("8:\8");
89
printf("9:\9");
90
printf("~:\~");
91
printf("`:\`");
92
printf("!:\!");
93
printf("@:\@");
94
printf("#:\#");
95
printf("$:\$");
96
printf("%:\%"); /* warning: unknown conversion type character in : in format. Spurious trailing % in format */
97
printf("^:\^"); /* warning: unknown escape sequence \^ */
98
printf("&:\&");
99
printf("*:\*");
100
printf("(:\("); /* valid */
101
printf("):\)");
102
printf("_:\_");
103
printf("-:\-");
104
printf("+:\+");
105
printf("{:\{"); /* valid */
106
printf("[:\["); /* valid */
107
printf("}:\}");
108
printf("]:\]");
109
printf("|:\|");
110
printf("\:\\");
111
printf("a:\a"); /* valid */
112
printf("::\:");
113
printf(";:\;");
114
/* escape the double-quotes */
115
printf("\":\""); /* valid */
116
printf("':\'"); /* valid */
117
printf("<:\<");
118
printf(",:\,");
119
printf(">:\>");
120
printf(".:\.");
121
printf("?:\?"); /* valid */
122
printf("/:\/");
123
}
124
125