user-0 提问: 实在搞不明白为什么错了 总是提示错误 

回复:
user: user-0
content: 引用 5 楼 xiaoxinwen0001 的回复:哦哦 谢谢大家 知道了 我用的VC++ 6.0的不好意思 我是新手 还是没理解这个错误是什么原因

user: user-0
content: Compiling... nnn.c G:\C\nnn.c(4) : error C2061: syntax error : identifier 'IsPrime' G:\C\nnn.c(4) : error C2059: syntax error : ';' G:\C\nnn.c(4) : error C2059: syntax error : 'type' G:\C\nnn.c(39) : warning C4013: 'IsPrime' undefined; assuming extern returning int G:\C\nnn.c(41) : error C2001: newline in constant G:\C\nnn.c(42) : error C2143: syntax error : missing ')' before 'else' 执行 cl.exe 时出错.  nnn.obj - 1 error(s), 0 warning(s) 总提示我 这个文件名错误 无奈

user: user-0
content: # include <stdio.h>   bool IsPrime (int val) { 	 	int i ;  	 	for (i = 2 ; i < val ; ++i) 	{ 		 		if (val% i == 0) 			break; 		 		 		 	} 	     if (i == val )  		return true ; 	else  		return false ; 	 	 	 	 }   int main (void)  { 	 	int m ; 	 	scanf("%d", &m); 	 	 	if ( IsPrime(m) ) 		 		printf ("Yes! \n"); 		else 		printf("No!\n"); 	 	 	 	 	 	 	return 0 ; }  我是就把老师代码 粘贴过来都出错 但是有时候就不出错 我是在怀疑 有没有可能是我的编译器有毛病啊 感觉不对劲呢

user: user-0
content: # include <stdio.h>   int     IsPrime (int val) { 	 	int i ;  	 	for (i = 2 ; i < val ; ++i) 	{ 		 		if (val% i == 0) 			break; 		 		 		 	} 	     if (i == val )  		return 1 ; 	else  		return 0 ; 	 	 	 	 }   int main (void)  { 	 	int m ; 	 	scanf("%d", &m); 	 	 	if ( IsPrime(m) ) 		 		printf ("Yes! \n"); 		else 		printf("No!\n"); 	 	 	 	 	 	 	return 0 ; }  这样就行了 还真是对bool类型的 不敏感啊

user: user-1
content: 仅供参考 /*************************************************************************     > File Name: isprimer.c     > Author: 傻李     > Mail: hellojukay@gmail.com      > Created Time: 2014年11月18日 星期二 17时30分46秒  ************************************************************************/ #include<time.h> #include<stdlib.h> #include<stdio.h> int isprimer(int n) { 	int state = 1; 	int i; 	for(i =2; i < n;++i) 	{ 		if(0 == n%i) 		{ 			state = 0; 			break; 		} 	} 	return state; }  int main() { 	time_t t; 	srand((unsigned)time(&t)); 	int i =(int)random()%100; 	printf("%d\n",i); 	if(isprimer(i)) 		printf("YES\n"); 	else 		printf("NO\n"); 	return 0; }

user: user-2
content: 引用 10 楼 FENGQIYUNRAN 的回复:7楼的调试方法值得楼主学习 货卖识家！

user: user-3
content: bool  IsPrime (int val) {	int i ; 	for (i = 2 ; i < val ; ++i) 	{ 		if (val% i == 0) 			break; 	}  	if (i == val )  		return true ; 	else  		return false ; }   int main (void) { 	int m ; 	scanf("%d", &m);  	if ( IsPrime(m) )  		printf ("Yes! \n"); //这里错了 	else 		printf("No!\n");  	system("pause"); 	return 0 ; }

user: user-4
content: 7楼的调试方法值得楼主学习

user: user-5
content: 这种错误，编译器会报错的，楼主要学会自己看编译器的报错提示，如果你的编译器没有报错，那建议换一个

user: user-6
content: 不管用的哪个编译器，都会报错的，哪怕不准确。

user: user-7
content: 少了一个" 在第一个printf

user: user-8
content: ++  引用 1 楼 u012878380 的回复:楼主要细心你的主函数第一个printf少一个引号

user: user-9
content: 楼主要细心你的主函数第一个printf少一个引号

user: user-5
content: 引用 6 楼 xiaoxinwen0001 的回复:我问一下 您用的这个编译器是？ c-free 比较不错的，还有dev c++、codeblocks等等，楼主可以从网上搜搜相关资料 比如——C/C++开发者必不可少的15款编译器+IDE

user: user-2
content: 偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译，直到定位到具体语法出错的位置。” 的方法解决的。

user: user-0
content: 引用 4 楼 u012421456 的回复:这种错误，编译器会报错的，楼主要学会自己看编译器的报错提示，如果你的编译器没有报错，那建议换一个   我问一下 您用的这个编译器是？

user: user-0
content: 哦哦 谢谢大家 知道了 我用的VC++ 6.0的