本帖最后由 rocki 于 2014-7-13 14:53 编辑
我写了一段程序,里面用了gets 函数。然后Xcode给了我一个警告。this program use gets(),which is unsafe . 为什么给我这个警告。。程序用这个函数为什么不安全?求解。下面是我写那个程序的源代码
- #include <stdio.h>
- int main(int argc, const char * argv[])
- {
- void transition(char *p);//声明转换函数
-
- char c[100];//存储用户输入字符串
-
- printf("请输入英文单词或句子\n");//提示用户输入
-
- gets(c);//接收用户输入字符串
-
- transition(c);//调用转换函数
-
- return 0;
- }
- void transition(char *p)
- {
- int i;//用于控制循环
-
- p[0]=p[0]-32;//第一位转换成大写
-
- for (i=1;p[i]!='\0';i++)//检测字符串结束标记
- {
- if (p[i-1]==' ')//如果第i-1位为空格,则将第i位改成大写
- {
- p[i]=p[i]-32;
- }
- }
-
- for (i=0;p[i]!='\0';i++)// 输出字符串
- {
- printf("%c",*(p+i));
- }
- printf("\n");
- }
复制代码
|
|