#include <stdio.h>
/* A recursive strlen */ int slen(char *s) { return (*s) == '\0'? 0 : slen(s + 1) + 1; } int main() { printf("strlen is %d\n", slen("abcdefg")); }
#include <stdio.h>
/* A recursive strlen */ int slen(char *s) { return (*s) == '\0'? 0 : slen(s + 1) + 1; } int main() { printf("strlen is %d\n", slen("abcdefg")); }
#include <stdio.h>
/* A recursive strlen */ int slen(char *s) { return (*s) == '\0'? 0 : slen(s++) + 1; } int main() { printf("strlen is %d\n", slen("abcdefg")); }
C:\SVN\book\C\blog>cat even-1.c #include// 程式將 i 調整為偶數後再乘以 5 int main() { int i = 3; // 檢驗 i 是否為奇數 if (i % 2 == 1) // 沒失敗 i++; i *= 5; // 變成偶數後再乘以 5 printf("%d\n", i); } C:\SVN\book\C\blog>gcc even-1.c C:\SVN\book\C\blog>a.exe 20
C:\SVN\book\C\blog>cat even.c #include// 程式將 i 調整為偶數後再乘以 5 int main() { int i = 3; // 檢驗 i 是否為奇數 if (i % 2 == 1) // 成功 i++; i *= 5; // 變成偶數後再乘以 5 printf("%d\n", i); } C:\SVN\book\C\blog>gcc even.c C:\SVN\book\C\blog>a.exe 15
int main()
{
char i = 1;
char j = 3;
if (i & j)
printf("yes.\n");
else
printf("no.\n");
return 0;
}
int main()
{
char i = 1;
char j;
scanf("%d", &j);
if (i & j)
printf("yes.\n");
else
printf("no.\n");
return 0;
}
int *bar(int t)
{
int i = t;
int *temp = &i;
printf("temp is %d, (*temp) is %d\n", temp, *temp);
return temp;
}
void foo(int a, int b, int c)
{
int i = 40;
}
int main()
{
int *a;
a = bar(10);
printf("a is %d, (*a) is %d \n", a, *a);
foo(10, 20, 30);
printf("a is %d, (*a) is %d \n", a, *a);
}
temp is 2686740, (*temp) is 10 a is 2686740, (*a) is 10 a is 2686740, (*a) is 40
int main()
{
unsigned int ui = 2147483647;
if (ui + 1 > 0)
printf("ui + 1 > 0\n");
if (ui + 1 < -1)
printf("ui + 1 < -1\n");
return 0;
}
The output.
C:\SVN\book\C>a.exe ui + 1 > 0 ui + 1 < -1
int main()
{
int i = 2147483647;
unsigned int ui = 2147483647;
if (i + 1 < 0)
printf("i + 1 < 0\n");
if (ui + 1 > 0)
printf("ui + 1 > 0\n");
if (ui + 1 > i + 1)
printf("ui + 1 > i + 1\n");
return 0;
}
The output.C:\SVN\book\C>a.exe i + 1 < 0 ui + 1 > 0
int main()
{
char filename[80];
FILE *fp;
printf("input file name: ");
fgets(filename, 79, stdin);
fp = fopen(filename, "r");
assert(fp != NULL);
fclose(fp);
}
C:\SVN\book\C>ls -l fgets.c -rw-rw-rw- 1 user group 225 Dec 29 17:23 fgets.c C:\SVN\book\C>a.exe input file name: fgets.c Assertion failed: fp != NULL, file fgets.c, line 10
#include <stdio.h>
#include <string.h>
int main(void)
{
char source[] = "This is a string.";
int i = 5;
char destination[4];
strcpy(destination, source);
printf("i is %d\n", i);
printf("source is [%s]\n", source);
printf("destination is [%s]\n", destination);
return 0;
}
The output.i is 544434464 source is [a string.] destination is [This is a string.]